| Test | Payload | Expected | Juice Shop Result | Finding |
| --- | --- | --- | --- | --- |
| Basic bypass | `' OR '1'='1'--` | 401 | 200 + token | Vulnerable |
| Admin bypass | `admin@juice-sh.op'--` | 401 | 200 + token | Vulnerable |
| UNION extraction | UNION SELECT ... FROM Users | 400/500 | 200 + data | Critical |
| Store script tag | alert ('XSS by Mirage') | PUT /reviews | 400 | 200 stored |
| Retrieve payload | – | GET /reviews | Encoded output | Raw script tag |
| IDOR — other basket | GET /rest/basket/1 | 403 | 200 + data | IDOR (Insecure Direct Object Reference) |
| Summary Item | Total | Failed |
|---|---|---|
| Requests | 11 | 11 |
| Prerequest Scripts | 1 | 0 |
| Test Scripts | 8 | 5 |
| Assertions | 5 | 4 |
| Skipped Tests | 0 | - |
getaddrinfo ENOTFOUND {{baseurl}}
"undefined" is not valid JSON
getaddrinfo ENOTFOUND {{baseurl}}
"undefined" is not valid JSON
getaddrinfo ENOTFOUND {{baseurl}}
expected PostmanResponse{ …(5) } to have property 'code'
runtime:extensions~request: request url is empty
getaddrinfo ENOTFOUND {{baseurl}}
expected undefined to be one of [ 200, 201 ]
expected PostmanResponse{ …(5) } to have property 'code'
getaddrinfo ENOTFOUND {{baseurl}}
"undefined" is not valid JSON
getaddrinfo ENOTFOUND {{baseurl}}
expected PostmanResponse{ …(5) } to have property 'code'
getaddrinfo ENOTFOUND {{baseurl}}
"undefined" is not valid JSON
getaddrinfo ENOTFOUND {{baseurl}}
"undefined" is not valid JSON
runtime:extensions~request: request url is empty
runtime:extensions~request: request url is empty
| Header Name | Header Value |
|---|---|
| Authorization | Bearer {{authToken}}} |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 6bd8b421-11b2-474e-9774-f8689a675f27 |
| Host | {{baseurl}} |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Header Name | Header Value |
|---|---|
| Authorization | Bearer {{authToken}} |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 1384cb8f-0216-42d3-9496-afe85eae2452 |
| Host | {{baseurl}} |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Header Name | Header Value |
|---|---|
| Authorization | Bearer {{authToken}} |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 3881044c-6320-468e-88a4-6ef598933fc8 |
| Host | {{baseurl}} |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| IDOR — cannot access other user basket (must be 403) | 0 | 1 | 0 |
| Other user data not returned | 1 | 0 | 0 |
| Total | 1 | 1 | 0 |
| Test Name | Assertion Error |
|---|---|
| IDOR — cannot access other user basket (must be 403) | |
| Header Name | Header Value |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| Authorization | Bearer {{authToken}} |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 770cfe9e-8b1b-4d85-bba4-af443c6c7f88 |
| Host | {{baseurl}} |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
{
"message": "<script>alert('XSS by Mirage')</script>",
"author": "{{userEmail}}"
}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Review POST returns 201 or 200 | 0 | 1 | 0 |
| Server should have rejected script tag (400) | 0 | 1 | 0 |
| Total | 0 | 2 | 0 |
| Test Name | Assertion Error |
|---|---|
| Review POST returns 201 or 200 | |
| Server should have rejected script tag (400) | |
| Header Name | Header Value |
|---|---|
| Authorization | Bearer {{authToken} |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | c0c04285-8210-49f0-a75b-06d8cdec3bca |
| Host | {{baseurl}} |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | d6e4a4ae-b4c8-4903-940e-bf7129c49179 |
| Host | {{baseurl}} |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
{
"email": "miragesth@juice.com",
"password": "MirageSth@123!",
"passwordRepeat": "MirageSth@123!",
"securityQuestion": { "id": 2 },
"securityAnswer": "miragesth"
}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| User registered — status 201 | 0 | 1 | 0 |
| Total | 0 | 1 | 0 |
| Test Name | Assertion Error |
|---|---|
| User registered — status 201 | |
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | fe1606d1-8bc4-4fb1-ae16-664594a27722 |
| Host | {{baseurl}} |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
{
"email": "{{userEmail}}",
"password": "{{userPassword}}"
}
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 857ccd62-2791-444c-92d6-1fba75d08180 |
| Host | {{baseurl}} |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
{
"email": "' OR '1'='1'--",
"password": "anything"
}
| Header Name | Header Value |
|---|
| Header Name | Header Value |
|---|