Client Side Prototype Pollution
Kugundua kwa kutumia Zana za Kiotomatiki
Zana https://github.com/dwisiswant0/ppfuzz, https://github.com/kleiton0x00/ppmap na https://github.com/kosmosec/proto-find zinaweza kutumika kwa kupata udhaifu wa uchafuzi wa prototype.
Zaidi ya hayo, unaweza pia kutumia upanuzi wa kivinjari PPScan kwa kutafuta moja kwa moja kurasa unazozipata kwa udhaifu wa uchafuzi wa prototype.
Kutatua hitilafu ya mahali mali inatumika
Kupata Chanzo cha Msingi cha Uchafuzi wa Prototype
Maranyingi, mara tu udhaifu wa uchafuzi wa prototype unapobainika na zana yoyote, na ikiwa nambari si ngumu sana, unaweza kupata udhaifu kwa kutafuta maneno kama location.hash
, decodeURIComponent
, au location.search
katika Zana za Watengenezaji wa Chrome. Mbinu hii inaruhusu wewe kutambua sehemu yenye udhaifu wa nambari ya JavaScript.
Kwa mifumo mikubwa na yenye nambari ngumu zaidi, njia rahisi ya kugundua nambari yenye udhaifu ni kufuata hatua zifuatazo:
Tumia zana kutambua udhaifu na upate mzigo wa data ulioundwa kuseti mali katika konstrukta. Mfano uliotolewa na ppmap unaweza kuonekana kama:
constructor[prototype][ppmap]=reserved
.Weka kivunjo kwenye mstari wa kwanza wa nambari ya JavaScript itakayotekelezwa kwenye ukurasa. Pakia upya ukurasa na mzigo wa data, ukisitisha utekelezaji kwenye kivunjo hiki.
Wakati utekelezaji wa JavaScript unapositishwa, tekeleza script ifuatayo kwenye konsoli ya JS. Script hii itatoa ishara wakati mali ya 'ppmap' inapoundwa, ikisaidia kutambua asili yake:
Naviga nyuma kwenye kichupo cha Vyanzo na chagua "Endeleza utekelezaji wa script". JavaScript itaendelea kutekelezwa, na mali ya 'ppmap' itachafuka kama ilivyotarajiwa. Kutumia kificho kilichotolewa hufanikisha kutambua eneo sahihi ambapo mali ya 'ppmap' imechafuka. Kwa kuangalia Mfumo wa Wito, mihimili tofauti ambapo uchafuzi umetokea unaweza kuchunguzwa.
Unapochagua ni mhimili upi wa kuchunguza, mara nyingi ni muhimu kulenga mihimili inayohusiana na faili za maktaba za JavaScript, kwani uchafuzi wa prototype mara nyingi hutokea ndani ya maktaba hizi. Tambua mhimili unaofaa kwa kuangalia kiambatisho chake kwenye faili za maktaba (inayoonekana kulia, kama picha iliyotolewa kwa mwongozo). Katika hali zenye mihimili mingi, kama ile kwenye mistari ya 4 na 6, chaguo la mantiki ni mhimili kwenye mstari wa 4, kwani unawakilisha tukio la kwanza la uchafuzi na hivyo chanzo cha msingi cha udhaifu. Kwa kubonyeza kwenye mhimili, utaelekezwa kwenye kificho dhaifu.
Kutafuta Vifaa vya Kielelezo cha Script
Kifaa ni kificho ambacho kitatumika mara moja udhaifu wa PP unapogunduliwa.
Ikiwa programu ni rahisi, tunaweza kutafuta maneno kama srcdoc/innerHTML/iframe/createElement
na kupitia kificho chanzo na kuangalia ikiwa inapelekea utekelezaji wa JavaScript. Mara nyingi, mbinu zilizotajwa zinaweza kutopata vifaa kabisa. Katika kesi hiyo, ukaguzi wa kificho chanzo safi unafunua vifaa vizuri kama mfano ufuatao.
Mfano wa Kupata kifaa cha PP katika kificho cha maktaba ya Mithil
Angalia andishi hili: https://blog.huli.tw/2022/05/02/en/intigriti-revenge-challenge-author-writeup/
Kurekebisha upya mizigo kwa maktaba zenye udhaifu
Kupitisha Wabainishaji wa HTML kupitia PP
Utafiti huu unaonyesha vifaa vya PP kutumika kwa kupita kwa usafi uliotolewa na baadhi ya maktaba za wabainishaji wa HTML:
sanitize-html
dompurify
Closure
Marejeo
Last updated