Pentesting
  • API Pentesting
  • Pivoting techniques
  • Aquatone
  • NOSQL injections
  • Basic LDAP Injection
  • Basic authentication bypass
  • SERVER SIDE REQUEST FORGERY (SSRF)
  • SQL injections
  • SSTI
  • Easy - No Protections
  • GENERAL INFORMATION
  • XML External Entity (XXE) Injection Payloads
  • Post exploitation techniques
  • Hashcat Cheatsheet
  • John The Ripper Cheatsheet
  • Cracking files
  • Wordlists & co.
  • WinRM (Windows Remote Management) Pentesting
  • API windows
  • Command find priv /esc
  • Crawl/Fuzz
  • HTTP Request Smuggling
  • Api keys
  • Pivoting, Tunneling, and Port Forwarding
  • Shells & Payloads
  • API Recon
  • API Token Attacks
Powered by GitBook
On this page
  • Table of Contents
  • Detailed Information
  • Slack Webhook
  • Slack API token
  • SauceLabs Username and access Key
  • Facebook AppSecret
  • Facebook Access Token
  • Firebase
  • Github Token
  • Github client id and client secret
  • Firebase Cloud Messaging
  • GitHub private SSH key
  • Twilio Account_sid and Auth token
  • Twitter API Secret
  • Twitter Bearer token
  • HubSpot API key
  • Infura API key
  • Deviant Art Secret
  • Deviant Art Access Token
  • Pendo Integration Key
  • SendGrid API Token
  • Square
  • Contentful Access Token
  • Dropbox API
  • AWS Access Key ID and Secret
  • Lokalise API Key
  • MailGun Private Key
  • FreshDesk API Key
  • JumpCloud API Key
  • Microsoft Azure Tenant
  • Microsoft Shared Access Signatures (SAS)
  • New Relic Personal API Key (NerdGraph)
  • New Relic REST API
  • Heroku API key
  • Mapbox API key
  • Salesforce API key
  • Algolia API key
  • Zapier Webhook Token
  • Pagerduty API token
  • BrowserStack Access Key
  • Google Maps API key
  • Google Recaptcha key
  • Google Cloud Service Account credentials
  • Branch.IO Key and Secret
  • Bing Maps API Key
  • Bit.ly Access token
  • Buildkite Access token
  • ButterCMS-API-Key
  • Asana Access token
  • Zendesk Access token
  • Zendesk Api Key
  • MailChimp API Key
  • WPEngine API Key
  • DataDog API key
  • Delighted API key
  • Travis CI API token
  • Telegram Bot API Token
  • WakaTime API Key
  • Sonarcloud Token
  • Spotify Access Token
  • Instagram Basic Display API Access Token
  • Instagram Graph API Access Token
  • Gitlab personal access token
  • GitLab runner registration token
  • Paypal client id and secret key
  • Stripe Live Token
  • Razorpay API key and Secret key
  • CircleCI Access Token
  • Cloudflare API key
  • Loqate API key
  • Ipstack API Key
  • NPM token
  • OpsGenie API Key
  • Keen.io API Key
  • Calendly API Key
  • Azure Application Insights APP ID and API Key
  • Cypress record key
  • YouTube API Key
  • ABTasty API Key
  • Iterable API Key
  • Amplitude API Keys
  • Visual Studio App Center API Token
  • WeGlot Api Key
  • PivotalTracker API Token
  • LinkedIn OAUTH
  • Help Scout OAUTH
  • Shodan Api Key
  • Bazaarvoice Passkey
  • Grafana Access Token

Api keys

PreviousHTTP Request SmugglingNextPivoting, Tunneling, and Port Forwarding

Last updated 1 year ago

Table of Contents

Detailed Information

If the below command returns missing_text_or_fallback_or_attachments, it means that the URL is valid, any other responses would mean that the URL is invalid.

curl -s -X POST -H "Content-type: application/json" -d '{"text":""}' "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
curl -sX POST "https://slack.com/api/auth.test?token=xoxp-TOKEN_HERE&pretty=1"
curl -u USERNAME:ACCESS_KEY https://saucelabs.com/rest/v1/users/USERNAME

Facebook AppSecret

You can generate access tokens by visiting the URL below.

https://graph.facebook.com/oauth/access_token?client_id=ID_HERE&client_secret=SECRET_HERE&redirect_uri=&grant_type=client_credentials

Facebook Access Token

https://developers.facebook.com/tools/debug/accesstoken/?access_token=ACCESS_TOKEN_HERE&version=v3.2

Requires a custom token, and an API key.

  1. Obtain ID token and refresh token from custom token and API key: curl -s -XPOST -H 'content-type: application/json' -d '{"token":":custom_token","returnSecureToken":True}' 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=:api_key'

  2. Exchange ID token for auth token: curl -s -XPOST -H 'content-type: application/json' -d '{"idToken":":id_token"}' https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyCustomToken?key=:api_key'

curl -s -u "user:apikey" https://api.github.com/user
curl -s -H "Authorization: token TOKEN_HERE" "https://api.github.com/users/USERNAME_HERE/orgs"
# Check scope of your api token
curl "https://api.github.com/rate_limit" -i -u "user:apikey" | grep "X-OAuth-Scopes:"
curl 'https://api.github.com/users/whatever?client_id=xxxx&client_secret=yyyy'
curl -s -X POST --header "Authorization: key=AI..." --header "Content-Type:application/json" 'https://fcm.googleapis.com/fcm/send' -d '{"registration_ids":["1"]}'

GitHub private SSH key

$ ssh -i <path to SSH private key> -T git@github.com
Hi <username>! You've successfully authenticated, but GitHub does not provide shell access.
curl -X GET 'https://api.twilio.com/2010-04-01/Accounts.json' -u ACCOUNT_SID:AUTH_TOKEN
curl -u 'API key:API secret key' --data 'grant_type=client_credentials' 'https://api.twitter.com/oauth2/token'
curl --request GET --url https://api.twitter.com/1.1/account_activity/all/subscriptions/count.json --header 'authorization: Bearer TOKEN'

Get all owners:

https://api.hubapi.com/owners/v2/owners?hapikey={keyhere}

Get all contact details:

https://api.hubapi.com/contacts/v1/lists/all/contacts/all?hapikey={keyhere}
curl https://mainnet.infura.io/v3/<YOUR-API-KEY> -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"eth_accounts","params":[],"id":1}'
curl https://www.deviantart.com/oauth2/token -d grant_type=client_credentials -d client_id=ID_HERE -d client_secret=mysecret
curl https://www.deviantart.com/api/v1/oauth2/placebo -d access_token=Alph4num3r1ct0k3nv4lu3
curl -X GET https://app.pendo.io/api/v1/feature -H 'content-type: application/json' -H 'x-pendo-integration-key:KEY_HERE'
curl -X GET https://app.pendo.io/api/v1/metadata/schema/account -H 'content-type: application/json' -H 'x-pendo-integration-key:KEY_HERE'
curl -X "GET" "https://api.sendgrid.com/v3/scopes" -H "Authorization: Bearer SENDGRID_TOKEN-HERE" -H "Content-Type: application/json"

Detection:

App id/client secret: sq0[a-z]{3}-[0-9A-Za-z\-_]{22,43} Auth token: EAAA[a-zA-Z0-9]{60}

Test App id & client secret:

curl "https://squareup.com/oauth2/revoke" -d '{"access_token":"[RANDOM_STRING]","client_id":"[APP_ID]"}'  -H "Content-Type: application/json" -H "Authorization: Client [CLIENT_SECRET]"

Response indicating valid credentials:

empty

Response indicating invalid credentials:

{
  "message": "Not Authorized",
  "type": "service.not_authorized"
}

Test Auth token:

curl https://connect.squareup.com/v2/locations -H "Authorization: Bearer [AUHT_TOKEN]"

Response indicating valid credentials:

{"locations":[{"id":"CBASELqoYPXr7RtT-9BRMlxGpfcgAQ","name":"Coffee \u0026 Toffee SF","address":{"address_line_1":"1455 Market Street","locality":"San Francisco","administrative_district_level_1":"CA","postal_code":"94103","country":"US"},"timezone":"America/Los_Angeles"........

Response indicating invalid credentials:

{"errors":[{"category":"AUTHENTICATION_ERROR","code":"UNAUTHORIZED","detail":"This request could not be authorized."}]}
curl -v https://cdn.contentful.com/spaces/SPACE_ID_HERE/entries\?access_token\=ACCESS_TOKEN_HERE
curl -X POST https://api.dropboxapi.com/2/users/get_current_account --header "Authorization: Bearer TOKEN_HERE"
AWS_ACCESS_KEY_ID=xxxx AWS_SECRET_ACCESS_KEY=yyyy aws sts get-caller-identity
git clone https://github.com/andresriancho/enumerate-iam
cd  enumerate-iam
./enumerate-iam.py --access-key AKIA... --secret-key StF0q...
  --url https://api.lokalise.com/api2/projects/ \
  --header 'x-api-token: [API-KEY-HERE]'
curl --user 'api:YOUR_API_KEY' "https://api.mailgun.net/v3/domains"
curl -v -u user@yourcompany.com:test -X GET 'https://domain.freshdesk.com/api/v2/groups/1'
This requires the API key in 'user@yourcompany.com', pass in 'test' and 'domain.freshdesk.com' to be the instance url of the target. In case you get a 403, try the endpoint api/v2/tickets, which is accessible for all keys.
List systems:
curl -H "x-api-key: APIKEYHERE" "https://console.jumpcloud.com/api/systems"
curl -H "x-api-key: APIKEYHERE" "https://console.jumpcloud.com/api/systemusers"
curl -H "x-api-key: APIKEYHERE" "https://console.jumpcloud.com/api/applications"
List systems:
curl -X GET https://console.jumpcloud.com/api/v2/systems/{System_ID}/memberof \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}'

Microsoft Azure Tenant

Format:

CLIENT_ID: [0-9a-z\-]{36}
CLIENT_SECRET: [0-9A-Za-z\+\=]{40,50}
TENANT_ID: [0-9a-z\-]{36}

Verification:

curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d 'client_id=<CLIENT_ID>&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default&client_secret=<CLIENT_SECRET>&grant_type=client_credentials' 'https://login.microsoftonline.com/<TENANT_ID>/oauth2/v2.0/token'

The following powershell can be used to test a Shared Access Signature Token:

static void UseAccountSAS(string sasToken)
{
    // Create new storage credentials using the SAS token.
    StorageCredentials accountSAS = new StorageCredentials(sasToken);
    // Use these credentials and the account name to create a Blob service client.
    CloudStorageAccount accountWithSAS = new CloudStorageAccount(accountSAS, "account-name", endpointSuffix: null, useHttps: true);
    CloudBlobClient blobClientWithSAS = accountWithSAS.CreateCloudBlobClient();

    // Now set the service properties for the Blob client created with the SAS.
    blobClientWithSAS.SetServiceProperties(new ServiceProperties()
    {
        HourMetrics = new MetricsProperties()
        {
            MetricsLevel = MetricsLevel.ServiceAndApi,
            RetentionDays = 7,
            Version = "1.0"
        },
        MinuteMetrics = new MetricsProperties()
        {
            MetricsLevel = MetricsLevel.ServiceAndApi,
            RetentionDays = 7,
            Version = "1.0"
        },
        Logging = new LoggingProperties()
        {
            LoggingOperations = LoggingOperations.All,
            RetentionDays = 14,
            Version = "1.0"
        }
    });

    // The permissions granted by the account SAS also permit you to retrieve service properties.
    ServiceProperties serviceProperties = blobClientWithSAS.GetServiceProperties();
    Console.WriteLine(serviceProperties.HourMetrics.MetricsLevel);
    Console.WriteLine(serviceProperties.HourMetrics.RetentionDays);
    Console.WriteLine(serviceProperties.HourMetrics.Version);
}
curl -X POST https://api.newrelic.com/graphql \
-H 'Content-Type: application/json' \
-H 'API-Key: YOUR_API_KEY' \
-d '{ "query":  "{ requestContext { userId apiKey } }" } '
curl -X GET 'https://api.newrelic.com/v2/applications.json' \
     -H "X-Api-Key:${APIKEY}" -i
curl -X POST https://api.heroku.com/apps -H "Accept: application/vnd.heroku+json; version=3" -H "Authorization: Bearer API_KEY_HERE"

Mapbox secret keys start with sk, rest start with pk (public token), sk (secret token), or tk (temporary token).

curl "https://api.mapbox.com/geocoding/v5/mapbox.places/Los%20Angeles.json?access_token=ACCESS_TOKEN"

#Check token validity
curl "https://api.mapbox.com/tokens/v2?access_token=YOUR_MAPBOX_ACCESS_TOKEN"

#Get list of all tokens associated with an account. (only works if the token is a Secret Token (sk), and has the appropiate scope)
curl "https://api.mapbox.com/tokens/v2/MAPBOX_USERNAME_HERE?access_token=YOUR_MAPBOX_ACCESS_TOKEN"
curl https://instance_name.salesforce.com/services/data/v20.0/ -H 'Authorization: Bearer access_token_here'

Be cautious when running this command, since the payload might execute within an administrative environment, depending on what index you are editing the highlightPreTag of. It's recommended to use a more silent payload (such as XSS Hunter) to prove the possible cross-site scripting attack.

curl --request PUT \
  --url https://<application-id>-1.algolianet.com/1/indexes/<example-index>/settings \
  --header 'content-type: application/json' \
  --header 'x-algolia-api-key: <example-key>' \
  --header 'x-algolia-application-id: <example-application-id>' \
  --data '{"highlightPreTag": "<script>alert(1);</script>"}'
curl -H "Accept: application/json" -H "Content-Type: application/json" -X POST -d '{"name":"streaak"}' "webhook_url_here"
curl -H "Accept: application/vnd.pagerduty+json;version=2"  -H "Authorization: Token token=TOKEN_HERE" -X GET  "https://api.pagerduty.com/schedules"
curl -u "USERNAME:ACCESS_KEY" https://api.browserstack.com/automate/plan.json

Key restrictions are set per service. When testing the key, if the key is restricted/inactive on one service try it with another.

Name
Endpoint
Pricing

Static Maps

$2

Streetview

$7

Embed

Varies

Directions

$5

Geocoding

$5

Distance Matrix

$5

Find Place from Text

Varies

Autocomplete

Varies

Elevation

$5

Timezone

$5

Roads

$10

Geolocate

$5

*Pricing is in USD per 1000 requests (for the first 100k requests)

More Information available here-

Send a POST to the following URL:

https://www.google.com/recaptcha/api/siteverify

secret and response are two required POST parameters, where secret is the key and response is the response to test for.

Service Account credentials may be found in a JSON file like this:

$ cat service_account.json
{
  "type": "service_account",
  "project_id": "...",
  "private_key_id": "...",
  "private_key": "-----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----\n",
  "client_email": "...",
  "client_id": "...",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/..."
}
$ gcloud auth activate-service-account --key-file=service_account.json
Activated service account credentials for: [...]
$ gcloud auth print-access-token
ya29.c...

In case of success you'll see access token printed in terminal. Please note that after verifying that credentials are actually valid you may want to enumerate permissions of these credentials which is another story.

Visit the following URL to check for validity:

https://api2.branch.io/v1/app/KEY_HERE?branch_secret=SECRET_HERE

Visit this link to check for the key's validity. A valid key's response should start with authenticationResultCode: "ValidCredentials"

https://dev.virtualearth.net/REST/v1/Locations?CountryRegion=US&adminDistrict=WA&locality=Somewhere&postalCode=98001&addressLine=100%20Main%20St.&key=API_KEY

Visit the following URL to check for validity:

https://api-ssl.bitly.com/v3/shorten?access_token=ACCESS_TOKEN&longUrl=https://www.google.com
curl -H "Authorization: Bearer ACCESS_TOKEN" \
https://api.buildkite.com/v2/access-token
curl -X GET 'https://api.buttercms.com/v2/posts/?auth_token=your_api_token'
curl -H "Authorization: Bearer ACCESS_TOKEN" https://app.asana.com/api/1.0/users/me
curl https://{subdomain}.zendesk.com/api/v2/tickets.json \
  -H "Authorization: Bearer ACCESS_TOKEN"

API tokens are different from OAuth tokens, API tokens are auto-generated passwords in the Support admin interface.

curl https://{target}.zendesk.com/api/v2/users.json \  -u support@{target}.com/token:{here your token}
curl --request GET --url 'https://<dc>.api.mailchimp.com/3.0/' --user 'anystring:<API_KEY>' --include
curl "https://api.wpengine.com/1.2/?method=site&account_name=ACCOUNT_NAME&wpe_apikey=WPENGINE_APIKEY"
curl "https://api.datadoghq.com/api/v1/dashboard?api_key=<api_key>&application_key=<application_key>"

Do not delete the : at the end.

curl https://api.delighted.com/v1/metrics.json \
  -H "Content-Type: application/json" \
  -u YOUR_DELIGHTED_API_KEY:
curl -H "Travis-API-Version: 3" -H "Authorization: token <TOKEN>" https://api.travis-ci.org/repos
curl https://api.telegram.org/bot<TOKEN>/getMe
curl "https://wakatime.com/api/v1/users/current?api_key=KEY_HERE"
curl -u <token>: "https://sonarcloud.io/api/authentication/validate"
curl -H "Authorization: Bearer <ACCESS_TOKEN>" https://api.spotify.com/v1/me

E.g.: IGQVJ...

curl -X GET 'https://graph.instagram.com/{user-id}?fields=id,username&access_token={access-token}'

E.g.: EAAJjmJ...

curl -i -X GET 'https://graph.facebook.com/v8.0/me/accounts?access_token={access-token}'
curl "https://gitlab.example.com/api/v4/projects?private_token=<your_access_token>"
docker run --rm gitlab/gitlab-runner register \
  --non-interactive \
  --executor "docker" \
  --docker-image alpine:latest \
  --url "https://gitlab.com/" \
  --registration-token "PROJECT_REGISTRATION_TOKEN" \
  --description "keyhacks-test" \
  --maintenance-note "Testing token with keyhacks" \
  --tag-list "docker,aws" \
  --run-untagged="true" \
  --locked="false" \
  --access-level="not_protected"
curl -v https://api.sandbox.paypal.com/v1/oauth2/token \
   -H "Accept: application/json" \
   -H "Accept-Language: en_US" \
   -u "client_id:secret" \
   -d "grant_type=client_credentials"

This can be verified using:

curl -v -X GET "https://api.sandbox.paypal.com/v1/identity/oauth2/userinfo?schema=paypalv1.1" -H "Content-Type: application/json" -H "Authorization: Bearer [ACCESS_TOKEN]"
curl https://api.stripe.com/v1/charges -u token_here:

Keep the colon at the end of the token to prevent cURL from requesting a password.

The token is always in the following format: sk_live_24charshere, where the 24charshere part contains 24 characters from a-z A-Z 0-9. There is also a test key, which starts with sk_test, but this key is worthless since it is only used for testing purposes and most likely doesn't contain any sensitive information. The live key, on the other hand, can be used to extract/retrieve a lot of info — ranging from charges to the complete product list.

Keep in mind that you will never be able to get the full credit card information since Stripe only gives you the last 4 digits.

This can be verified using:

curl -u <YOUR_KEY_ID>:<YOUR_KEY_SECRET> \
  https://api.razorpay.com/v1/payments
curl https://circleci.com/api/v1.1/me?circle-token=<TOKEN>
curl -X GET "https://api.cloudflare.com/client/v4/user/tokens/verify" \
  -H "Authorization: Bearer <YOUR_API_TOKEN>"
curl 'http://api.addressy.com/Capture/Interactive/Find/v1.00/json3.ws?Key=<KEY_HERE>&Countries=US,CA&Language=en&Limit=5&Text=BHAR'
curl 'https://api.ipstack.com/{ip_address}?access_key={keyhere}'
export NPM_TOKEN="00000000-0000-0000-0000-000000000000"
echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc
npm whoami

Another way to verify token is to query API directly:

curl -H 'authorization: Bearer 00000000-0000-0000-0000-000000000000' 'https://registry.npmjs.org/-/whoami'

You'll get username in response in case of success, 401 Unauthorized in case if token doesn't exists and 403 Forbidden in case if your IP address is not whitelisted.

curl https://api.opsgenie.com/v2/alerts -H 'Authorization: GenieKey API_KEY'

Get all collections for a specific project:

curl "https://api.keen.io/3.0/projects/PROJECT_ID/events?api_key=READ_KEY"

Get user information:

curl --header "X-TOKEN: <your_token>" https://calendly.com/api/v1/users/me

List Webhook Subscriptions:

curl --header "X-TOKEN: <your_token>" https://calendly.com/api/v1/hooks

Get the total number of requests made in last 24 hours:

curl -H "x-api-key: {API_Key}" "https://api.applicationinsights.io/v1/apps/{APP_ID}/metrics/requests/count"

In order to check recordKey validity you'll need projectId which is public value that usually can be found at cypress.json file. Replace {recordKey} and {projectId} in JSON body with your values.

curl -i -s -k -X $'POST' \
    -H $'x-route-version: 4' -H $'x-os-name: darwin' -H $'x-cypress-version: 5.5.0' -H $'host: api.cypress.io' -H $'accept: application/json' -H $'content-type: application/json' -H $'Content-Length: 1433' -H $'Connection: close' \
    --data-binary $'{\"ci\":{\"params\":null,\"provider\":null},\"specs\":[\"cypress/integration/examples/actions.spec.js\",\"cypress/integration/examples/aliasing.spec.js\",\"cypress/integration/examples/assertions.spec.js\",\"cypress/integration/examples/connectors.spec.js\",\"cypress/integration/examples/cookies.spec.js\",\"cypress/integration/examples/cypress_api.spec.js\",\"cypress/integration/examples/files.spec.js\",\"cypress/integration/examples/local_storage.spec.js\",\"cypress/integration/examples/location.spec.js\",\"cypress/integration/examples/misc.spec.js\",\"cypress/integration/examples/navigation.spec.js\",\"cypress/integration/examples/network_requests.spec.js\",\"cypress/integration/examples/querying.spec.js\",\"cypress/integration/examples/spies_stubs_clocks.spec.js\",\"cypress/integration/examples/traversal.spec.js\",\"cypress/integration/examples/utilities.spec.js\",\"cypress/integration/examples/viewport.spec.js\",\"cypress/integration/examples/waiting.spec.js\",\"cypress/integration/examples/window.spec.js\"],\"commit\":{\"sha\":null,\"branch\":null,\"authorName\":null,\"authorEmail\":null,\"message\":null,\"remoteOrigin\":null,\"defaultBranch\":null},\"group\":null,\"platform\":{\"osCpus\":[],\"osName\":\"darwin\",\"osMemory\":{\"free\":1153744896,\"total\":17179869184},\"osVersion\":\"19.6.0\",\"browserName\":\"Electron\",\"browserVersion\":\"85.0.4183.121\"},\"parallel\":null,\"ciBuildId\":null,\"projectId\":\"{projectId}\",\"recordKey\":\"{recordKey}\",\"specPattern\":null,\"tags\":[\"\"]}' \
    $'https://api.cypress.io/runs'

Yes, this request needs to be that big. It'll return 200 OK with some information about run in case if both projectId and recordKey are valid, 404 Not Found with {"message":"Project not found. Invalid projectId."} if projectId is invalid or 401 Unauthorized with {"message":"Invalid Record Key."} if recordKey is invalid.

Example of projectId is 1yxykz and example of recordKey is a216e7b4-4819-4713-b9c2-c5da60a1c48c.

Fetch content details for a YouTube channel (The channelId in this case points to PewDiePie's channel).

curl -iLk 'https://www.googleapis.com/youtube/v3/activities?part=contentDetails&maxResults=25&channelId=UC-lHJZR3Gqxm24_Vd_AJ5Yw&key={KEY_HERE}'
curl "api_endpoint_here" -H "x-api-key: your_api_key"

Export campaign analytics data in JSON format, one entry per line. Use of either 'range' or 'startDateTime' and 'endDateTime' is required.

curl -H "Api_Key: {API_KEY}" https://api.iterable.com/api/export/data.json?dataTypeName=emailSend&range=Today&onlyFields=List.empty

The response is a zipped archive of JSON files, with potentially multiple files per hour. Note that events prior to 2014-11-12 will be grouped by day instead of by the hour. If you request data for a time range during which no data has been collected for the project, then you will receive a 404 response from the server.

curl -u API_Key:Secret_Key 'https://amplitude.com/api/2/export?start=20200201T5&end=20210203T20' >> yourfilename.zip
  1. List all the app projects for the API Token:

curl -sX GET  "https://api.appcenter.ms/v0.1/apps" \
-H "Content-Type: application/json" \
-H "X-Api-Token: {your_api_token}"
  1. Fetch the latest app build information for a particular project:

curl -sX GET  "https://api.appcenter.ms/v0.1/apps/{owner.name}/{name}/releases/latest" \
-H "Content-Type: application/json" \
-H "X-Api-Token: {your_api_token}"
curl -X POST \
  'https://api.weglot.com/translate?api_key=my_api_key' \
  -H 'Content-Type: application/json' \
  -d '{  
   "l_from":"en",
   "l_to":"fr",
   "request_url":"https://www.website.com/",
   "words":[  
      {"w":"This is a blue car", "t": 1},
      {"w":"This is a black car", "t": 1}
   ]
}'
  1. List User Information with API Token:

curl -X GET -H "X-TrackerToken: $TOKEN" "https://www.pivotaltracker.com/services/v5/me?fields=%3Adefault"
  1. Obtain API Token with Valid User Credentials:

curl -s -X GET --user 'USER:PASSWORD' "https://www.pivotaltracker.com/services/v5/me -o pivotaltracker.json"
jq --raw-output .api_token pivotaltracker.json

A successful access token request returns a JSON object containing access_token, expires_in.

curl -XPOST -H "Content-type: application/x-www-form-urlencoded" -d 'grant_type=client_credentials&client_id=<client-ID>&client_secret=<client-secret>' 'https://www.linkedin.com/oauth/v2/accessToken'

A successful access token request returns a JSON object containing token_type, access_token, expires_in.

curl -X POST https://api.helpscout.net/v2/oauth2/token \
    --data "grant_type=client_credentials" \
    --data "client_id={application_id}" \
    --data "client_secret={application_secret}"
curl "https://api.shodan.io/shodan/host/8.8.8.8?key=TOKEN_HERE"

A Successful Passkey Request returns a JSON object containing company name

curl 'https://which-cpv-api.bazaarvoice.com/clientInfo?conversationspasskey=<Passkey>' --insecure 

Grafana API supports Bearer and Basic authorisation schemes. Bearer:

curl -s -H "Authorization: Bearer your-api-key" http://your-grafana-server-url.com/api/user

Basic:

curl -u username:password http://your-grafana-server-url.com/api/user

Reference:

SSH private keys can be tested against github.com to see if they are registered against an existing user account. If the key exists the username corresponding to the key will be provided. ()

Install , set the , and execute the following command:

AWS credentials' permissions can be determined using . This gives broader view of the discovered AWS credentials privileges instead of just checking S3 buckets.

If valid, test further to see if it's an

Regular expression: ^6[0-9a-zA-Z_-]{39}$. The API key always starts with a 6 and is 40 chars long. Read more here: .

If this is your case you may check these credentials using gcloud tool ():

This issue can be further exploited by checking out 's gist .

The access token can be further used to extract data from the PayPal API. More information: .

More info/complete documentation: .

You can verify NPM token (replacing 00000000-0000-0000-0000-000000000000 with NPM token):

NPM token can be . Thus if you are using token from non-whitelisted CIDR you'll get 403 Forbidden in response. So try to verify NPM token from different IP ranges!.

P.S. Some companies . If it's the case replace all registry.npmjs.org occurrences with domain name of company's NPM registry.

Note: Keep the colon at the end of the token to prevent cURL from requesting a password. Info: The token is always in the following format: sk_live_34charshere, where the 34charshere part contains 34 characters from a-z A-Z 0-9 There is also a test key, which starts with sk_test, but this key is worthless since it is only used for testing purposes and most likely doesn't contain any sensitive info. The live key, on the other hand, can be used to extract/retrieve a lot of info. Going from charges, to the complete product list. Keep in mind that you will never be able to get the full credit card information since stripe only gives you like the last 4 digits. More info / complete docs: =======

Use the name and owner.name obtained in response in Step .

ABTasty API Key
Algolia API key
Amplitude API Keys
Asana Access token
AWS Access Key ID and Secret
Azure Application Insights APP ID and API Key
Bazaarvoice Passkey
Bing Maps API Key
Bit.ly Access token
Branch.io Key and Secret
BrowserStack Access Key
Buildkite Access token
ButterCMS API Key
Calendly API Key
Contentful Access Token
CircleCI Access Token
Cloudflare API key
Cypress record key
DataDog API key
Delighted API key
Deviant Art Access Token
Deviant Art Secret
Dropbox API
Facebook Access Token
Facebook AppSecret
Firebase
Firebase Cloud Messaging (FCM)
FreshDesk API Key
Github client id and client secret
GitHub private SSH key
Github Token
Gitlab personal access token
GitLab runner registration token
Google Cloud Service Account credentials
Google Maps API key
Google Recaptcha key
Grafana Access Token
Help Scout OAUTH
Heroku API key
HubSpot API key
Infura API key
Instagram Access Token
Instagram Basic Display API
Instagram Graph API
Ipstack API Key
Iterable API Key
JumpCloud API Key
Keen.io API Key
LinkedIn OAUTH
Lokalise API Key
Loqate API Key
MailChimp API Key
MailGun Private Key
Mapbox API key
Microsoft Azure Tenant
Microsoft Shared Access Signatures (SAS)
New Relic Personal API Key (NerdGraph)
New Relic REST API
NPM token
OpsGenie API Key
Pagerduty API token
Paypal client id and secret key
Pendo Integration Key
PivotalTracker API Token
Razorpay API key and secret key
Salesforce API key
SauceLabs Username and access Key
SendGrid API Token
Shodan.io
Slack API token
Slack Webhook
Sonarcloud
Spotify Access Token
Square
Stripe Live Token
Telegram Bot API Token
Travis CI API token
Twilio Account_sid and Auth token
Twitter API Secret
Twitter Bearer token
Visual Studio App Center API Token
WakaTime API Key
WeGlot Api Key
WPEngine API Key
YouTube API Key
Zapier Webhook Token
Zendesk Access token
Zendesk API key
Slack Webhook
Slack API token
SauceLabs Username and access Key
Firebase
Github Token
Github client id and client secret
Firebase Cloud Messaging
https://abss.me/posts/fcm-takeover
source
Twilio Account_sid and Auth token
Twitter API Secret
Twitter Bearer token
HubSpot API key
Infura API key
Deviant Art Secret
Deviant Art Access Token
Pendo Integration Key
SendGrid API Token
Square
Contentful Access Token
Dropbox API
AWS Access Key ID and Secret
awscli
access key and secret to environment variables
Enumerate-IAM
Lokalise API Key
MailGun Private Key
FreshDesk API Key
JumpCloud API Key
v1
v2
Microsoft Shared Access Signatures (SAS)
New Relic Personal API Key (NerdGraph)
New Relic REST API
admin key
Heroku API key
Mapbox API key
Salesforce API key
Algolia API key
Zapier Webhook Token
Pagerduty API token
BrowserStack Access Key
Google Maps API key
https://medium.com/@ozguralp/unauthorized-google-maps-api-key-usage-cases-and-why-you-need-to-care-1ccb28bf21e
https://github.com/ozguralp/gmapsapiscanner/
https://developers.google.com/maps/api-key-best-practices
Google Recaptcha key
https://developers.google.com/recaptcha/docs/verify
Google Cloud Service Account credentials
how to install gcloud
Branch.IO Key and Secret
Bing Maps API Key
Bit.ly Access token
Buildkite Access token
ButterCMS-API-Key
Asana Access token
Zendesk Access token
Zendesk Api Key
MailChimp API Key
WPEngine API Key
@hateshape
https://gist.github.com/hateshape/2e671ea71d7c243fac7ebf51fb738f0a
DataDog API key
Delighted API key
Travis CI API token
Telegram Bot API Token
WakaTime API Key
Sonarcloud Token
Spotify Access Token
Instagram Basic Display API Access Token
Instagram Graph API Access Token
Gitlab personal access token
GitLab runner registration token
Paypal client id and secret key
https://developer.paypal.com/docs/api/overview/#make-rest-api-calls
Stripe Live Token
https://stripe.com/docs/api/authentication
Razorpay API key and Secret key
CircleCI Access Token
Cloudflare API key
Loqate API key
Ipstack API Key
NPM token
using npm
CIDR-whitelisted
uses registries other than registry.npmjs.org
OpsGenie API Key
Keen.io API Key
https://stripe.com/docs/api/authentication
Calendly API Key
Azure Application Insights APP ID and API Key
Cypress record key
YouTube API Key
ABTasty API Key
Iterable API Key
Amplitude API Keys
Visual Studio App Center API Token
1
WeGlot Api Key
PivotalTracker API Token
LinkedIn OAUTH
Help Scout OAUTH
Shodan Api Key
Bazaarvoice Passkey
Grafana Access Token
https://maps.googleapis.com/maps/api/staticmap?center=45%2C10&zoom=7&size=400x400&key=KEY_HERE
https://maps.googleapis.com/maps/api/streetview?size=400x400&location=40.720032,-73.988354&fov=90&heading=235&pitch=10&key=KEY_HERE
https://www.google.com/maps/embed/v1/place?q=place_id:ChIJyX7muQw8tokR2Vf5WBBk1iQ&key=KEY_HERE
https://maps.googleapis.com/maps/api/directions/json?origin=Disneyland&destination=Universal+Studios+Hollywood4&key=KEY_HERE
https://maps.googleapis.com/maps/api/geocode/json?latlng=40,30&key=KEY_HERE
https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=40.6655101,-73.89188969999998&destinations=40.6905615%2C-73.9976592%7C40.6905615%2C-73.9976592%7C40.6905615%2C-73.9976592%7C40.6905615%2C-73.9976592%7C40.6905615%2C-73.9976592%7C40.6905615%2C-73.9976592%7C40.659569%2C-73.933783%7C40.729029%2C-73.851524%7C40.6860072%2C-73.6334271%7C40.598566%2C-73.7527626%7C40.659569%2C-73.933783%7C40.729029%2C-73.851524%7C40.6860072%2C-73.6334271%7C40.598566%2C-73.7527626&key=KEY_HERE
https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=Museum%20of%20Contemporary%20Art%20Australia&inputtype=textquery&fields=photos,formatted_address,name,rating,opening_hours,geometry&key=KEY_HERE
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Bingh&types=%28cities%29&key=KEY_HERE
https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536,-104.9847034&key=KEY_HERE
https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510&timestamp=1331161200&key=KEY_HERE
https://roads.googleapis.com/v1/nearestRoads?points=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796&key=KEY_HERE
https://www.googleapis.com/geolocation/v1/geolocate?key=KEY_HERE
Page cover image