Server-Side prototype pollution
Intro
Payloads
POST /user/update HTTP/1.1
Host: example.com
content-type: application/json
{
"name": "john",
"email": "john@example.com",
"__proto__": {
"foo": "bar"
}
}
Detection
Polluted Property Reflection
Parameter limit

Ignore query prefix

Allow dots

Content type

JSON spaces

Exposed headers

OPTIONS

JSON reflection


OAST
Exploitation
Privilege Escalation
JSON Spaces Overriding
Status Code Overriding
RCE via child_process
child_processRCE via child_process.spawn(), child_process.fork()
child_process.spawn(), child_process.fork()Remote Command Execution: RCE in Kibana (CVE-2019-7609)
Remote Command Execution: RCE using EJS gadgets
Overwrite Environment Variable
Resources
Last updated