Express Prototype Pollution Gadgets
WhiteIntel is 'n donker-web aangedrewe soekenjin wat gratis funksies bied om te kontroleer of 'n maatskappy of sy kliënte gekompromiteer is deur steelware.
Die primêre doel van WhiteIntel is om rekening-oorneemings en lospryse aanvalle te beveg wat voortspruit uit inligtingsteelware.
Jy kan hul webwerf besoek en hul enjin vir gratis probeer by:
Bedien XSS-antwoorde
Vir verdere besonderhede kyk na die oorspronklike navorsing
Verander JSON inhoudstipe na HTML
In 'n Express-toep met 'n JSON-inhoudstipe-antwoord en reflekteer 'n JSON:
In hierdie gevalle is XSS normaalweg nie moontlik met 'n JSON-inhoudstipe nie. Met prototipevervuiling kan ons egter Express in die war bring om 'n HTML-reaksie te dien. Hierdie kwesbaarheid berus op die aansoek wat res.send(obj)
gebruik en die liggaamontleder met die application/json-inhoudstipe.
Deur die body
en _body
eienskappe te verontreinig, is dit moontlik om Express te laat dien die HTML inhoudstipe en die _body
eienskap te weerspieël, wat gevolglik tot gestoorde XSS lei.
Stel UTF7 voor
Dit is moontlik om express UTF-7 inhoud te laat voorstel met:
Veilige Skandeertegnieke
JSON spasies
Die volgende PP sal eienskappe binne 'n JSON laat hê met 'n ekstra spasie wat nie die funksionaliteit sal breek nie:
Dan sal 'n weerspieëlde JSON lyk soos:
Blootgestelde Koppe
Die volgende PP-gadget sal die bediener laat terugstuur die HTTP-kop: Access-Control-Expose_headers: foo
Dit vereis dat die CORS-module geïnstalleer moet wees
OPSIES Metode
Met die volgende lading, is dit moontlik om 'n metode te verberg van 'n OPSIES-reaksie:
Status
Dit is moontlik om die teruggevoerde status kode te verander deur die volgende PP-lading te gebruik:
Fout
Wanneer jy 'n prototipe toeken met 'n primitief soos 'n string, veroorsaak dit 'n geen-operasie aangesien die prototipe 'n objek moet wees. As jy probeer om 'n prototipe objek aan Object.prototype
self toe te ken, sal dit 'n uitsondering gooi. Ons kan hierdie twee gedragstukke gebruik om te bepaal of prototipevervuiling suksesvol was:
Weerspieëlde Waarde
Wanneer 'n aansoek 'n voorwerp in sy antwoord insluit, kan dit insiggewend wees om 'n eienskap met 'n ongewone naam langs __proto__
te skep. Spesifiek, as slegs die ongewone eienskap in die antwoord teruggegee word, kan dit dui op die toepassing se kwesbaarheid:
Verder, in scenarios waar 'n biblioteek soos Lodash gebruik word, bied die instelling van 'n eienskap beide via prototipe besoedeling (PP) en direk binne die objek 'n ander diagnostiese benadering. As so 'n eienskap weggelaat word uit die respons, dui dit daarop dat Lodash die bestaan van die eienskap in die teikenobjek verifieer voordat dit saamgevoeg word:
Verskeie
Laat Kolletjies toe
Daar is 'n opsie in Express wat jou toelaat om voorwerpe vanaf navraagstringparameters te skep. Jy kan dit beslis gebruik in 'n fout ketting om 'n prototipevervuilingskwesbaarheid uit te buit.
?foo.bar=baz
skep 'n objek in Node.
Verwysings
WhiteIntel is 'n dark-web aangedrewe soekenjin wat gratis funksies bied om te kontroleer of 'n maatskappy of sy kliënte deur steel-malware is gekompromiteer.
Hul primêre doel van WhiteIntel is om rekening-oorneeminge en lospryse-aanvalle te beveg wat voortspruit uit inligtingsteel-malware.
Jy kan hul webwerf besoek en hul enjin vir gratis probeer by:
Last updated