Services Based Pentest Checklist
Symfony PHP
/app_dev.php
/app_dev.php/_profiler
/_profiler
/_profiler/latest
/_profiler/search
/_profiler/phpinfo
/_profiler/{token}
/_wdt/{token}
/app_example.php
/app_test.php
/index_dev.php
/config.php
/_configurator/
/_configurator/steps
/_configurator/step/{index}Laravel
/.env
/_debugbar
/_debugbar/open
/_debugbar/clockwork/{id}
/telescope
/telescope/requests
/telescope/exceptions
/ignition/execute-solution
/ignition/update-options
/horizon
/horizon/api/*
/pulseWordPress
/wp-config.php
/wp-config.php~
/wp-config.php.bak
/wp-config.php.old
/wp-admin/install.php
/xmlrpc.php
/wp-json/wp/v2/users
/wp-json/wp/v2/users/{id}
/readme.html
/license.txt
/wp-includes/version.phpDjango
/.env
/admin
/admin/login
/debug
/__debug__
/static/debug_toolbar/
/djdt/
/djdt/debug_toolbarRails
/rails/info/properties
/rails/console
/rails/db
/pwned
/.env
/config/database.ymlExpress.js / Node.js
/.env
/debug
/trace
/env
/config
/status
/versionFlask
/.env
/console
/debug
/flask.debug
/_debugGraphQL
/graphql
/graph
/graphiql
/graphql/console
/graphql.php
/graphiql.php
/api/graphql
/v1/graphql
/v1/explorer
/v1/graphiql
/altair
/playground
/graphql-playground
/graphiql/fiddleNext.js
/.env
/.env.local
/.env.production
/_next/static/development
/api/debug
/.next/Strapi
/admin
/dashboard
/.env
/strapi
/plugins/users-permissionsSpring Boot
/actuator
/actuator/env
/actuator/beans
/actuator/mappings
/actuator/health
/actuator/info
/actuator/heapdump
/actuator/threaddump
/actuator/loggers
/actuator/conditions
/jolokia
/jolokia/exec
/hawtio
/api/hawtioASP.NET
/trace.axd
/elmah.axd
/Web.config
/web.config.bak
/web.config~
/App_config/connectionStrings.configPHP General
/phpinfo.php
/info.php
/test.php
/php.ini
/php.ini~
/php.ini.bak
/server-status
/server-infoApache
/server-status
/server-info
/mod_status
/.htaccess
/.htpasswdNginx
/nginx_status
/status
/stub_statusTomcat
/manager/html
/host-manager/html
/examples
/docs
/adminKibana
/app/kibana
/app/timelion
/app/console
/api/consoleElasticsearch
/_cat
/_cat/indices
/_cat/nodes
/_cluster/health
/_nodes/stats
/*/_searchMongoDB
/dbadmin
/mongo
/admin/mongo
/meRedis
/redis
/phpredisadmin
/redis-cliDocker
/_ping
/v1.41/info
/v1.41/containers/json
/v2/_catalogGeneral Misconfig Checks
/.env
/.env.local
/.env.production
/.env.example
/config.php
/configuration.php
/settings.php/*.bak
/*.old
/*.txt
/*~
/backup
/backups
/*.sql
/*.zip
/*.tar.gz/uploads/
/files/
/assets/
/static/
/media/
/user_uploads//.git/
/.git/HEAD
/.git/config
/.svn/entries
/.hg/Postman API Platform
https://www.postman.com/{companyName}/?tab=workspacesSalesforce
- Test:
POST /aura HTTP/2
Host: {TARGET}.lightning.force.com
Content-Type: application/json
{}
------------------------
- FQDNs:
*.force.com
*.secure.force.com
*.live.siteforce.com
---------------------------
- Other Endpoints
/sfsites/aura
/s/sfsites/auraTrello
site:trello.com "company"
https://trello.com/b/{BOARD_ID}Figma
https://www.figma.com/file/{DesignID}/{DesignFileName}Freshworks Freshservice
https://<companyName>.freshservice.com/support/signupSlack
To check if you have permissions to invite a new member:
Sign in to your Slack Workspace
Open any channel
Click on Add people
A popup will open up, enter the user's email address
Finally, click Add
These reproduction steps prove that you're able to invite new members without approval from an administrator.

Atlassian Bitbucket
https://bitbucket.org/{WORKSPACE_ID}
site:bitbucket.org inurl:/workspace/projectsAtlassian Confluence
## XML-RPC HTTP Request to retrieve a specific page for example:
POST /rpc/xmlrpc HTTP/1.1
Host: confluence.example.com
Content-Type: text/xml
...
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>confluence2.getPage</methodName>
<params>
<param>
<value>
<string>{SPACE_KEY}</string>
</value>
</param>
<param>
<value>
<string>{PAGE_TITLE}</string>
</value>
</param>
</params>
</methodCall>
--------------------------------
## Curl:
curl -X POST -H 'Content-Type: text/xml' -d '<?xml version="1.0" encoding="UTF-8"?><methodCall><methodName>confluence2.getPage</methodName><params><param><value><string>{SPACE_KEY}</string></value></param><param><value><string>{PAGE_TITLE}</string></value></param></params></methodCall>' http://confluence.example.com/rpc/xmlrpc
------------------------------------
## SOAP: /rpc/soap-axis/confluenceservice-v2In case XSRF Protection is turned off, bad actors could post comments on other user's behalf by just sending them a link to an attacker controlled site that replicates the POST request.There is no specific testing procedure for this misconfiguration. Email addresses are visible next to the user's name on posts for example.Visit the following application route to check if anonymous users can view and read any information on Confluence Spaces:
https://<companyName>.atlassian.net/wiki/spacesAtlassian Jira
You can cross-check if user registration is open for anyone by navigating to the following app route:
/secure/Signup!default.jspaOpen up any user's profile in your Jira instance as an anonymous user and verify that you can view the email address of the user.Navigate to the following app route and check if signups are enabled:
/servicedesk/customer/user/loginAWS S3
aws s3 ls s3://{BUCKET_NAME} --no-sign-requestCloudflare R2
You can make use of search syntaxis supported by several popular search engines like Google to enumerate R2 buckets belonging to your target company or organization:
site:.r2.dev "company"Google Groups
site:groups.google.com "{companyName}"Google Docs
https://docs.google.com/document/d/{documentId}/editGoogle Cloud Storage Bucket
https://{companyName}.storage.googleapis.com/
https://storage.googleapis.com/{companyName}
Indexing can also be allowed, to cross-check, you can make use of search filters that search engines like Google provide:
site:storage.googleapis.com "{companyName}"Google OAuth
https://accounts.google.com/o/oauth2/v2/auth?
response_type=code&
client_id=1234.apps.googleusercontent.com&
...
hd=company.com
--------------------------------
Change it to example.com:
--------------------------------
https://accounts.google.com/o/oauth2/v2/auth?
response_type=code&
client_id=1234.apps.googleusercontent.com&
...
hd=example.comJenkins
- Enumerate jenkist subdomains
jenkist.domain.com
- Check those endpoints
/signup
/jenkins/signup- Check if Groovy Script Console is publicly accessible:
/script
---------------------------------
- Test:
curl -s 'https://jenkins.{HOST}/script' -X 'POST' --data 'script={SCRIPT}'
or:
curl -s 'https://jenkins.{HOST}/scriptText' -X 'POST' --data 'script={SCRIPT}'GitLab
/explore/snippetsDrupal
- Brute Force IDs
/node/{ID}Automation
Last updated
Was this helpful?