Conditional flows
You can execute and compare responses from multiple API calls in YAML probes
Last updated
execute:
type: multiple
requests:
- req:
- modify_body_param:
password: IncorrectPassword1!
- validate:
response_code:
gte: 400
lt: 410
- success: x2 #move to next request
- failure: exit #exit if response is not 4xx
- req: .... - req:
- modify_body_param:
username: invalid_user@email.com
- validate: # check if response payload for incorrect user is same as incorrect password
- response_payload:
neq: "${x1.response.body}" #x1.response.body refers to the response body of 1st request
- success: vulnerable #if response payloads differ, then mark it as a vuln.wordLists:
dummyUsernames:
- dummy
- "dummymail@dummy.com"
execute:
type: multiple
requests:
- req:
- modify_body_param:
password: Default1!
- validate:
response_code:
gte: 400
lt: 410
- success: x2
- failure: exit
- req:
- modify_body_param:
username: ${dummyUsernames}
- validate:
- response_payload:
neq: ${x1.response.body}
- success: vulnerable