Logged In: false
Session ID:
Username:
Cx GabeN's DAST Testing Tools
Universal Endpoints
Common Tasks
Payload Information
GET /auth/logout
HEAD
n/a
BODY
n/a
Payload Information
GET /api/whoami
HEAD
n/a
BODY
n/a
Payload Information
GET /api/token
HEAD
n/a
BODY
n/a
Payload Information
GET /api/clientinfo
HEAD
n/a
BODY
n/a
Classic Web Authentication Samples
"Classic" authentication methods don't use JavaScript. All the elements are present in the page source upon visiting it and none of the elements are loaded after the document loading.
Form-based Login
Form-based logins send POST requests with a content type of "x-www-form-urlencoded"
Payload Information
POST /auth/form/standard
HEAD
Content-type: x-www-form-urlencoded
BODY
username={%username%} &password={%password%}
Known Variable (e.g. credentials, client id, client secret)
Payload Information
POST /auth/form/withcsrf
HEAD
Content-type: x-www-form-urlencoded
BODY
username={%username%} &password={%password%} &csrf=???
Known Variable (e.g. credentials, client id, client secret)
Unknown Variable (e.g. csrf, state, nonce)
Payload Information
POST /auth/form/withsecret
HEAD
Content-type: x-www-form-urlencoded
BODY
username={%username%} &password={%password%} &secret=???
Known Variable (e.g. credentials, client id, client secret)
Unknown Variable (e.g. csrf, state, nonce)
JSON-based Login
Form-based logins send POST requests with a content type of "application/json"
Payload Information
POST /auth/json
HEAD
Content-type: application/json
BODY
{ "username": "{%username%} ", "password": "{%password%} " }
Known Variable (e.g. credentials, client id, client secret)
Payload Information
POST /auth/json/withcsrf
HEAD
Content-type: application/json
BODY
{ "username": "{%username%} ", "password": "{%password%} ", "csrf": "??? " }
Known Variable (e.g. credentials, client id, client secret)
Unknown Variable (e.g. csrf, state, nonce)
Payload Information
POST /auth/json/withsecret
HEAD
Content-type: application/json
BODY
{ "username": "{%username%} ", "password": "{%password%} ", "secret": "??? " }
Known Variable (e.g. credentials, client id, client secret)
Unknown Variable (e.g. csrf, state, nonce)
Header-based Testing
Header-based Session Testing
Header-based logins expect some data in the header to successfully authenticate.
Complex Authentication Samples
SSO-based Login
Payload Information
POST /login/saml/azure
HEAD
n/a
BODY
<samlp:Response ID="_abcd-1234..." Version="2.0"> ...
HMAC-based Login
Token-based
Token-based via Form Auth
Token-based via JSON Auth (JWT)
Classic Status Checks
Get User Info via API
[There's a secret link here when you're logged in]
Modern Web Application
Modern applications tend to use JavaScript and AJAX requests to make outbound requests to trigger actions on the pages. The contents of the page may not necessarily exist initially on the page source.
(Still working on setting these examples up)
Modern Status Checks
These appear after a second through JavaScript
[Modern features don't work without JS enabled]
[Modern features don't work without JS enabled]