From 37577016401fb7d8f9cd5f074eb4fa9a5a619453 Mon Sep 17 00:00:00 2001 From: CPol Date: Sun, 18 Aug 2024 10:54:54 +0000 Subject: [PATCH] GITBOOK-4379: Cache Poisoning update --- .gitbook/assets/image (1250).png | Bin 0 -> 33608 bytes .gitbook/assets/image (1251).png | Bin 0 -> 29653 bytes .gitbook/assets/image (1252).png | Bin 0 -> 32341 bytes .gitbook/assets/image (1253).png | Bin 0 -> 30473 bytes SUMMARY.md | 1 + .../pentesting-smtp/smtp-smuggling.md | 14 ++-- pentesting-web/cache-deception/README.md | 53 ++++++------ .../cache-deception/cache-poisoning-to-dos.md | 12 ++- .../cache-poisoning-via-url-discrepancies.md | 79 ++++++++++++++++++ .../README.md | 11 ++- .../jinja2-ssti.md | 14 +++- .../xss-cross-site-scripting/README.md | 6 +- 12 files changed, 141 insertions(+), 49 deletions(-) create mode 100644 .gitbook/assets/image (1250).png create mode 100644 .gitbook/assets/image (1251).png create mode 100644 .gitbook/assets/image (1252).png create mode 100644 .gitbook/assets/image (1253).png create mode 100644 pentesting-web/cache-deception/cache-poisoning-via-url-discrepancies.md diff --git a/.gitbook/assets/image (1250).png b/.gitbook/assets/image (1250).png new file mode 100644 index 0000000000000000000000000000000000000000..5cdaa3f270b0cba512234c860a3249997d5afe57 GIT binary patch literal 33608 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�qB%pSJ2Y>u^-4LqO5v3O!zejT~J;J_VZI4=)( z&Z%d;_u5S{oxYmgi4jbiQNd-%BMW$NoAg)(Ct(1|CM}2`T%@%-fh-Dlz`sV$r}FOw z5CdrjjIKRz@V2iTOe!cef9VAvGkP6JJ7|q9uc(iE4sYSFo(IRZ0h{)>Kq}Q2$1Xq< znTRh!#oGbLP2n5yRYdgDBLE}*kib92Tc&bhQ-RwE;lIwoJbpsJU@d1!EkaeNMkv2m-mg+YsQ)i!S6(Ie+tC9vX#QUI1BK7hyLiahhoGB-h?#l)u z-So0l3EiTxa#Mq4RJzYagf8zv{&zL0QA=}jVIMHJ2F@A#13;$q8Wv>4uje5^x=0fX z*L@Ko7UoeNr0yNS&;ulQC4?yv2mAb~>3HV01l`lx$*Sko_*2KGX6?a)`Ue=(PGDx7vtR2409He0X09=hCvl&W0w761SDo+C3@cJlcF9W=VZ}u% zt$PcMHmhmm2G&ic&{b@IN!lHudIL86Q?E0RI?8B)*LzVO?13iP@C}CbrPHKA+~U^V zGmZYmNz$Ds*LdEk*`(yKL=fV za9uaeHv=bK2U!U=6fO&xybgeHp?Z|D4WtBkHQlGF7;i^lGrlP5%Y*%PK+<;)v?ADM z6z}r@VzbzW+th{jL4UjJcw>#GFfR1~qi0VbI|dW$7ZA??&h9DdB$T}*2*{5)E9HE= zU;M$ZM*ppH*ZHdLsf?RPc||b2sPN~t=xZ0)XEsPIA8QJe8*4PCo1+iX$LambTW*Xl zEa9Z?%hR`Dd4eu;Qji^`zvU<3F6KE?clpVnXBwx*{_yXWW+E8^rR6*;vu^*YUq9$x zYxNR~oWhQd%+V~+;c$!iPjlhV-fWtHa=r;wt;`JLsbsToN1oaoSc*CjtLv0@kpZek z6e#v?`V%8C4e+2<86W_|aZ)3cC9q{)9f~+zg%|=UKf%cv zk^E}U3QE!0l!NV0)k9VK(e-*$r95uqn1`&L-4@ngQtgwA^J1iaxvV~oK*ltMyZ-DK{ zRuZ2hIJ@N|S?ZpIMT(oSDtLA}!5SogE->B^t--lPH%J?6?+i+O-R0;SZoIg0Zfg6j z<8d-jT`rxAOhoPp zFBbD6GC%0Q9PVwF_CU<&CI*-JPQUH`{FUGkNDZoC!7CcsmjHO<+qVn@DIO`ponEwjUqw5>H7>FG2TvJ=l84`!r$Oc z&whkk_gNGfCL#o8iARczcFm%G3YD&`M%N})DbDIp#WKHEw=DHgvNn~hsFb>##)ru+ zOnT+d>)k?9Z^Dw;G&&yD=f~+(MhW6qD|M}2ZcLaCTM|&PF3+tfu79s=#QnkFCmga}8&P zkINjE+}mbPCZ-T<;tFPs2{hhx<05rzLl#})h2Icf{a95H0S^D-1i=FIKxeeItv zsQ4iLuF7W-cIFeMjfPV{Xi_be&*C*MsJK5yjDh1HEX&LCRO%>$L~PlYrAhC`b3%O& zAd)`8tqxcJ@S)!={qfyu&85o4t#q*8-V>kv9F|Lid~Q0XqspA~{*Z!)Em|7rMQhyE zPl$Tu3;`LxdM04doOb{(Z_#4JL3dSPm{i0*QhB58_sLgxVyiv+yUEnFCV3EBfqbbudD5<;Roj}W<89V#`=H%uJd*2k`hOBwT%SsC;`qJ z%YSz1z9VTehdeP3p>$tg;JjBPeSDM+9E{ZZSQI{DuH1DK?TA@!7RY=a$OJepgUaa} zu9NV1t*-N~zLu;+WrU`_Zxa36bi{7*^8s=1IycE@^CHNYC@E2+0+(9s(7z_m;1#ZG zl;ATrvNa8tnYE`6;@MWg8;Ad{hjWH8)ki{<`7^gjPkX2MGY+#tXah=q4Iy?K4N^ye zXB}Xoz3a&mzd$4w5TBo?)&h>#juQK8N?L($LLT80B*bT9j+S9rnRl6DM`&;4ow)gq zzT)MundjAZw+~=*MqB*M;q%guILuo8$kQnk<#DJqdR|Y({6Nnd6U<&Ro88i_wg89H z0q4(_-P&N?0}9A?{hdN?P6;KZp;Zoh9_`ZJR|?l`Y{G2Yps|XTK;))$;|e6MHet9- zZ`3fJnW!WITZNX{F)X^^?586Y&ILQ;-whWOHOFY(TpDHdWa(>aC0;#+)ob2QpTFw_ zT4H_dx!abq!+Oumb2CYi2f%IAf(kh6U_B}cIb4`;>i=5r7a(8 z)ymlHjT*Z4_|9@3=Ah*)(7uC%-bBVrG#m=4?OshvuRv|56h6i8oKX8B(6}5{$h3wy zP3=1jVF4L6W)*|Ocq(G4(DiqUspZUz0T?6$VwMYibIE=h8(Z)Bot1uYT$@FwXF78j zn4LEULrJ;uvxt?1LA;~a81?LMF%?{Hz5pj10U?|!K5pFSyiImk^;bp|nBxVV_ojr? z-0c;axz8C^*+2XNFQVVxVD6PF8VkX%sC)UL2o2JukN5EVX*nsD&I zJb}*eofw_X?1wr!84laIe3ReQeTGfBrWAN(MjTb9qL1%DSHhdI4&=2@6$jE;rMZZF z4{Yj*rF<~^rZde#*Rxnwvw=-UJEJ)HSO7mbNaCqZo?{yOt90U7Pe8@{DZ=726KB&b z8vUnHs*_}l3&j99Lo?k2>H-sU#25_NrZVOCA9&z%R4;%v;_t+4thcm=zCC%edXxA!@WTx|VliFR75X@)CR zwwal?hi*ZiXN6UVZ08bM$~{&x!i0V`(~TEa7gD^_=9w3CI<(;ucYmsm>IuFcGv%Mr zwhV%mw!~TG&{}U3AxuA4X8sxlH3!vi;n8Rx+8EVxql!>#(pC{vig-Xr(^z6VQ?IWg zT*qeh)P(G0>(t=mGzwuB(8RC)q?fn`F(i6m{S1o{kFJ08ZfDvY?x?i0)|T^~C6AsY zmUVPu{&bB$iP%x;4!5S*Tk`?d(B2Sn6D!<8Jp@iN>&u94H|}LZ{h@C!?gJ}k1dW=f)!h2eRU!m`c`;VsRw z-msiyJ7r`di=lr-JIoJcb3*B_FvPG4r3$LY6Y=%lIu&*ZJWSTe`4wIy3hre{ZhO!c zNy(c!ZF8j_uBF<-Ul~$+Z|jO;;=*K6XQngG5v;U$y!`*a_TKs_j-Zbd27+5~cXxMp z4esu?uvl<+g1fux;!be4pu51L2@)g(CrARv^W0rs-G6ZP);m9RP4#q5P4{$vr>FZP z-8PxrTRU(nM(MyE9MU6@SWw$YE!7*x^))zAF~|dp^Lb@|vZVA7E)Lx-nl`Q_a>L zm%wwp5S0>o?EJvar8Z#HWM8IFF3}<0u7r`L6R#Tg7N^U^oXpMSglose#2issxj_z+ zZ+~#(rqN+In->_PavD$hx#fWzLwSk0TLf`>^ON521dX0P1F(L%koaRsAZgB?@#L$#$=TFqfJchUdb=debEh4jCW7b@wJ zQn496-FS5j7ft)!X4md;Vw~bCoHUw#29|LTa5W5GH(8L-`hb^J6XJIm?UGgmczJRP zAC%Et*HR}dRtD>xqU9%m(Pebk(bP4fwtai&*@AHk}d(;nRR z9*K$Cb`i(|w^et;8!@g3gmI0^Gs+9V@GJ8nwx1jhA06$;(4$>5T1E^(0?l-=el|RV z8sk@b_vZohdxUX1WG4Ciaa|g+!#jb3{0NR2oT9C9L|wOiBz%6X3oD)|ju7*tO$*Zc zDbbk-6C295%Pv*r_a*ymtdhRGbT-v*yV4Zw2AL+SjFBA5v`p%*C`IBTVHHQgCD3XpBt{H&1J{CF04z}MPFb9njV~NmTs|wA1kb9THz;td*sw3r_jS@%e4<5B zW<7j)Dmgp!YDyR1a3tuU!kB=uW{$$A9yDTu0bjYbbM@ON;?$}KHS !dU(}M1o;^2y#=zR~MBuW1rJ$j)ws#x} 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 z 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 literal 0 HcmV?d00001 diff --git a/.gitbook/assets/image (1252).png b/.gitbook/assets/image (1252).png new file mode 100644 index 0000000000000000000000000000000000000000..a526a88050e48ebf7a2f9c93f4e500e505056f45 GIT binary patch literal 32341 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 literal 0 HcmV?d00001 diff --git a/.gitbook/assets/image (1253).png b/.gitbook/assets/image (1253).png new file mode 100644 index 0000000000000000000000000000000000000000..7dd3a1a71c0253e9e7134c5394ae3ab87c0eb17d GIT binary patch literal 30473 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 z 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 literal 0 HcmV?d00001 diff --git a/SUMMARY.md b/SUMMARY.md index f9518a74c..87eee4342 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -531,6 +531,7 @@ * [Bypass Payment Process](pentesting-web/bypass-payment-process.md) * [Captcha Bypass](pentesting-web/captcha-bypass.md) * [Cache Poisoning and Cache Deception](pentesting-web/cache-deception/README.md) + * [Cache Poisoning via URL discrepancies](pentesting-web/cache-deception/cache-poisoning-via-url-discrepancies.md) * [Cache Poisoning to DoS](pentesting-web/cache-deception/cache-poisoning-to-dos.md) * [Clickjacking](pentesting-web/clickjacking.md) * [Client Side Template Injection (CSTI)](pentesting-web/client-side-template-injection-csti.md) diff --git a/network-services-pentesting/pentesting-smtp/smtp-smuggling.md b/network-services-pentesting/pentesting-smtp/smtp-smuggling.md index 261470971..6d3954eea 100644 --- a/network-services-pentesting/pentesting-smtp/smtp-smuggling.md +++ b/network-services-pentesting/pentesting-smtp/smtp-smuggling.md @@ -1,8 +1,8 @@ # SMTP Smuggling {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
@@ -30,14 +30,14 @@ This is because in the SMTP protocol, the **data of the message** to be sent in In order to exploit this vulnerability an attacker needs to send some data that the **Outbound SMPT server thinks that it's just 1 email but the Inbound SMTP server thinks that there are several emails**. The researchers discovered that different **Inboud servers considers different characters as the end of the data** of the email message that Outbound servers doesn't.\ -For example, a regular end of the data is `\r\n.\r\n`. But if the Inbound SMTP server also supports `\n.\n`, an attacker could just add **that data in his email and start indicating the SMTP commands** of a new new ones to smuggle it just like in the previous image. +For example, a regular end of the data is `\r\n.\r`. But if the Inbound SMTP server also supports `\n.`, an attacker could just add **that data in his email and start indicating the SMTP commands** of a new new ones to smuggle it just like in the previous image. Ofc, this could only work if the **Outbound SMTP server doesn't also treat this data** as the end of the message data, because in that case it will see 2 emails instead of just 1, so at the end this is the desynchronization that is being abused in this vulnerability. Potential desynchronization data: -* `\n.\n` -* `\n.\r\n` +* `\n.` +* `\n.\r` Also note that the SPF is bypassed because if you smuggle an email from `admin@outlook.com` from an email from `user@outlook.com`, **the sender is still `outlook.com`.** @@ -46,8 +46,8 @@ Also note that the SPF is bypassed because if you smuggle an email from `admin@o * [https://sec-consult.com/blog/detail/smtp-smuggling-spoofing-e-mails-worldwide/](https://sec-consult.com/blog/detail/smtp-smuggling-spoofing-e-mails-worldwide/) {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
diff --git a/pentesting-web/cache-deception/README.md b/pentesting-web/cache-deception/README.md index 64fcc7723..b2907004e 100644 --- a/pentesting-web/cache-deception/README.md +++ b/pentesting-web/cache-deception/README.md @@ -1,8 +1,8 @@ # Cache Poisoning and Cache Deception {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
@@ -18,7 +18,7 @@ Learn & practice GCP Hacking:
\ -Use [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=cache-deception) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\ +Use [**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_term=trickest\&utm\_content=cache-deception) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\ Get Access Today: {% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=cache-deception" %} @@ -44,7 +44,7 @@ The execution of a cache poisoning assault involves several steps: Usually, when a response was **stored in the cache** there will be a **header indicating so**, you can check which headers you should pay attention to in this post: [**HTTP Cache headers**](../../network-services-pentesting/pentesting-web/special-http-headers.md#cache-headers). -### Discovery: Caching error codes +### Discovery: Caching error codes If you are thinking that the response is being stored in a cache, you could try to **send requests with a bad header**, which should be responded to with a **status code 400**. Then try to access the request normally and if the **response is a 400 status code**, you know it's vulnerable (and you could even perform a DoS). @@ -70,10 +70,13 @@ With the parameter/header identified check how it is being **sanitised** and **w ### Get the response cached -Once you have **identified** the **page** that can be abused, which **parameter**/**header** to use and **how** to **abuse** it, you need to get the page cached. Depending on the resource you are trying to get in the cache this could take some time, you might need to be trying for several seconds.\ +Once you have **identified** the **page** that can be abused, which **parameter**/**header** to use and **how** to **abuse** it, you need to get the page cached. Depending on the resource you are trying to get in the cache this could take some time, you might need to be trying for several seconds. + The header **`X-Cache`** in the response could be very useful as it may have the value **`miss`** when the request wasn't cached and the value **`hit`** when it is cached.\ -The header **`Cache-Control`** is also interesting to know if a resource is being cached and when will be the next time the resource will be cached again: `Cache-Control: public, max-age=1800`\ -Another interesting header is **`Vary`**. This header is often used to **indicate additional headers** that are treated as **part of the cache key** even if they are normally unkeyed. Therefore, if the user knows the `User-Agent` of the victim he is targeting, he can poison the cache for the users using that specific `User-Agent`.\ +The header **`Cache-Control`** is also interesting to know if a resource is being cached and when will be the next time the resource will be cached again: `Cache-Control: public, max-age=1800` + +Another interesting header is **`Vary`**. This header is often used to **indicate additional headers** that are treated as **part of the cache key** even if they are normally unkeyed. Therefore, if the user knows the `User-Agent` of the victim he is targeting, he can poison the cache for the users using that specific `User-Agent`. + One more header related to the cache is **`Age`**. It defines the times in seconds the object has been in the proxy cache. When caching a request, be **careful with the headers you use** because some of them could be **used unexpectedly** as **keyed** and the **victim will need to use that same header**. Always **test** a Cache Poisoning with **different browsers** to check if it's working. @@ -101,7 +104,7 @@ _Note that this will poison a request to `/en?region=uk` not to `/en`_ ### Using web cache poisoning to exploit cookie-handling vulnerabilities -Cookies could also be reflected on the response of a page. If you can abuse it to cause an XSS for example, you could be able to exploit XSS in several clients that load the malicious cache response. +Cookies could also be reflected on the response of a page. If you can abuse it to cause a XSS for example, you could be able to exploit XSS in several clients that load the malicious cache response. ```markup GET / HTTP/1.1 @@ -111,9 +114,23 @@ Cookie: session=VftzO7ZtiBj5zNLRAuFpXpSQLjS4lBmU; fehost=asd"%2balert(1)%2b" Note that if the vulnerable cookie is very used by the users, regular requests will be cleaning the cache. +### Generating discrepancies with delimiters, normalization and dots + +Check: + +{% content-ref url="cache-poisoning-via-url-discrepancies.md" %} +[cache-poisoning-via-url-discrepancies.md](cache-poisoning-via-url-discrepancies.md) +{% endcontent-ref %} + ### Cache poisoning with path traversal to steal API key -[**This writeup explains**](https://nokline.github.io/bugbounty/2024/02/04/ChatGPT-ATO.html) how it was possible to steal an OpenAI API key with an URL like `https://chat.openai.com/share/%2F..%2Fapi/auth/session?cachebuster=123` because anything matching `/share/*` will be cached without Cloudflare normalising the URL, which was done when the request reached the web server. +[**This writeup explains**](https://nokline.github.io/bugbounty/2024/02/04/ChatGPT-ATO.html) how it was possible to steal an OpenAI API key with an URL like `https://chat.openai.com/share/%2F..%2Fapi/auth/session?cachebuster=123` because anything matching `/share/*` will be cached without Cloudflare normalising the URL, which was done when the request reached the web server. + +This is also explained better in: + +{% content-ref url="cache-poisoning-via-url-discrepancies.md" %} +[cache-poisoning-via-url-discrepancies.md](cache-poisoning-via-url-discrepancies.md) +{% endcontent-ref %} ### Using multiple headers to exploit web cache poisoning vulnerabilities @@ -168,18 +185,6 @@ The [Web Cache Vulnerability Scanner](https://github.com/Hackmanit/Web-Cache-Vul Example usage: `wcvs -u example.com` - - -
- -\ -Use [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=cache-deception) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\ -Get Access Today: - -{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=cache-deception" %} - - - ## Vulnerable Examples ### Apache Traffic Server ([CVE-2021-27577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-27577)) @@ -257,14 +262,14 @@ Learn here about how to perform[ Cache Deceptions attacks abusing HTTP Request S
\ -Use [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=cache-deception) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\ +Use [**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_term=trickest\&utm\_content=cache-deception) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\ Get Access Today: {% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=cache-deception" %} {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
diff --git a/pentesting-web/cache-deception/cache-poisoning-to-dos.md b/pentesting-web/cache-deception/cache-poisoning-to-dos.md index 94ffd72c9..b7993561c 100644 --- a/pentesting-web/cache-deception/cache-poisoning-to-dos.md +++ b/pentesting-web/cache-deception/cache-poisoning-to-dos.md @@ -1,8 +1,8 @@ # Cache Poisoning to DoS {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
@@ -31,7 +31,7 @@ X-Oversize-Hedear:Big-Value-000000000000000 * **HTTP Meta Character (HMC) & Unexpected values** -Send a header that contain some **harmfull meta characters** such as `\n` and `\r`. In order the attack to work you must bypass the cache first. +Send a header that contain some **harmfull meta characters** such as and . In order the attack to work you must bypass the cache first. ``` GET / HTTP/1.1 @@ -74,8 +74,6 @@ Host: redacted.com HTTP-Method-Override: POST ``` - - * **Unkeyed Port** If port in the Host header is reflected in the response and not included in the cache key, it's possible to redirect it to an unused port: @@ -159,8 +157,8 @@ Cache: hit * [https://youst.in/posts/cache-poisoning-at-scale/?source=post\_page-----3a829f221f52--------------------------------](https://youst.in/posts/cache-poisoning-at-scale/?source=post\_page-----3a829f221f52--------------------------------) {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
diff --git a/pentesting-web/cache-deception/cache-poisoning-via-url-discrepancies.md b/pentesting-web/cache-deception/cache-poisoning-via-url-discrepancies.md new file mode 100644 index 000000000..9b28e61d9 --- /dev/null +++ b/pentesting-web/cache-deception/cache-poisoning-via-url-discrepancies.md @@ -0,0 +1,79 @@ +# Cache Poisoning via URL discrepancies + +{% hint style="success" %} +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) + +
+ +Support HackTricks + +* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! +* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. + +
+{% endhint %} + +This is a summary of the techniques proposed in the post [https://portswigger.net/research/gotta-cache-em-all](https://portswigger.net/research/gotta-cache-em-all) in order to perform cache poisoning attacks **abusing discrepancies between cache proxies and web servers.** + +{% hint style="info" %} +The goal of this attack is to **make the cache server think that a static resource is being loaded** so it caches it while the cache server stores as cache key part of the path but the web server responds resolving another path. The web server will resolve the real path which will be loading a dynamic page (which might store sensitive information about the user, a malicious payload like XSS or redirecting to lo load a JS file from the attackers website for example). +{% endhint %} + +## Delimiters + +**URL delimiters** vary by framework and server, impacting how requests are routed and responses are handled. Some common origin delimiters are: + +* **Semicolon**: Used in Spring for matrix variables (e.g. `/hello;var=a/world;var1=b;var2=c` → `/hello/world`). +* **Dot**: Specifies response format in Ruby on Rails (e.g. `/MyAccount.css` → `/MyAccount`) +* **Null Byte**: Truncates paths in OpenLiteSpeed (e.g. `/MyAccount%00aaa` → `/MyAccount`). +* **Newline Byte**: Separates URL components in Nginx (e.g. `/users/MyAccount%0aaaa` → `/account/MyAccount`). + +Other specific delimiters might be found following this process: + +* **Step 1**: Identify non-cacheable requests and use them to monitor how URLs with potential delimiters are handled. +* **Step 2**: Append random suffixes to paths and compare the server's response to determine if a character functions as a delimiter. +* **Step 3**: Introduce potential delimiters before the random suffix to see if the response changes, indicating delimiter usage. + +## Normalization & Encodings + +* **Purpose**: URL parsers in both cache and origin servers normalize URLs to extract paths for endpoint mapping and cache keys. +* **Process**: Identifies path delimiters, extracts and normalizes the path by decoding characters and removing dot-segments. + +### **Encodings** + +Different HTTP servers and proxies like Nginx, Node, and CloudFront decode delimiters differently, leading to inconsistencies across CDNs and origin servers that could be exploited. For example, if the web server perform this transformation `/myAccount%3Fparam` → `/myAccount?param` but the cache server keeps as key the path `/myAccount%3Fparam`, there is an inconsistency. + +A way to check for these inconsistencies is to send requests URL encoding different chars after loading the path without any encoding and check if the encoded path response came from the cached response. + +### Dot segment + +The path normalization where dots are involved is also very interesting for cache poisoning attacks. For example, `/static/../home/index` or `/aaa..\home/index`, some cache servers will cache these paths with themselves ad the keys while other might resolve the path and use `/home/index` as the cache key.\ +Just like before, sending these kind of requests and checking if the response was gathered from the cache helps to identify if the response to `/home/index` is the response sent when those paths are requested. + +## Static Resources + +Several cache servers will always cache a response if it's identified as static. This might be because: + +* **The extension**: Cloudflare will always cache files with the following extensions: 7z, csv, gif, midi, png, tif, zip, avi, doc, gz, mkv, ppt, tiff, zst, avif, docx, ico, mp3, pptx, ttf, apk, dmg, iso, mp4, ps, webm, bin, ejs, jar, ogg, rar, webp, bmp, eot, jpg, otf, svg, woff, bz2, eps, jpeg, pdf, svgz, woff2, class, exe, js, pict, swf, xls, css, flac, mid, pls, tar, xlsx + * It's possible to force a cache storing a dynamic response by using a delimiter and a static extension like a request to `/home$image.png` will cache `/home$image.png` and the origin server will respond with `/home` +* **Well-known static directories**: The following directories contains static files and therefore their response should be cached: /static, /assets, /wp-content, /media, /templates, /public, /shared + * It's possible to force a cache storing a dynamic response by using a delimiter, a static directory and dots like: `/home/..%2fstatic/something` will cache `/static/something` and the response will be`/home` + * **Static dirs + dots**: A request to `/static/..%2Fhome` or to `/static/..%5Chome` might be cached as is but the response might be `/home` +* **Static files:** Some specific files are always cached like `/robots.txt`, `/favicon.ico`, and `/index.html`. Which can be abused like `/home/..%2Frobots.txt` where the cace might store `/robots.txt` and the origin server respond to `/home`. + +{% hint style="success" %} +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) + +
+ +Support HackTricks + +* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! +* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. + +
+{% endhint %} diff --git a/pentesting-web/ssti-server-side-template-injection/README.md b/pentesting-web/ssti-server-side-template-injection/README.md index b28d24d56..d6e532f30 100644 --- a/pentesting-web/ssti-server-side-template-injection/README.md +++ b/pentesting-web/ssti-server-side-template-injection/README.md @@ -1,8 +1,8 @@ # SSTI (Server Side Template Injection) {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
@@ -321,6 +321,7 @@ New version of Pebble : + {% set bytes = (1).TYPE .forName('java.lang.Runtime') .methods[6] @@ -850,6 +851,7 @@ Check out the following page to learn tricks about **arbitrary command execution + {{os.system('whoami')}} {{os.system('whoami')}} ``` @@ -884,6 +886,7 @@ Check out the following page to learn tricks about **arbitrary command execution + {{settings.SECRET_KEY}} {{4*4}}[[5*5]] {{7*'7'}} would result in 7777777 @@ -1059,8 +1062,8 @@ If you think it could be useful, read: {% embed url="https://www.rootedcon.com/" %} {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
diff --git a/pentesting-web/ssti-server-side-template-injection/jinja2-ssti.md b/pentesting-web/ssti-server-side-template-injection/jinja2-ssti.md index bd2eca99e..11c215a35 100644 --- a/pentesting-web/ssti-server-side-template-injection/jinja2-ssti.md +++ b/pentesting-web/ssti-server-side-template-injection/jinja2-ssti.md @@ -1,8 +1,8 @@ # Jinja2 SSTI {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
@@ -50,6 +50,7 @@ If the Debug Extension is enabled, a `debug` tag will be available to dump the c + ``` @@ -70,6 +71,7 @@ Source: [https://jinja.palletsprojects.com/en/2.11.x/templates/#debug-statement] + ``` ## **Jinja Injection** @@ -134,6 +136,7 @@ dict.__mro__[-1] + # Not sure if this will work, but I saw it somewhere {{ [].class.base.subclasses() }} {{ ''.class.mro()[1].subclasses() }} @@ -218,6 +221,7 @@ http://localhost:5000/?c={{request|attr(request.args.getlist(request.args.l)|joi + ``` * [**Return here for more options to access a global object**](jinja2-ssti.md#accessing-global-objects) @@ -266,6 +270,7 @@ Without **`{{`** **`.`** **`[`** **`]`** **`}}`** **`_`** + ``` ## Jinja Injection without **\** @@ -310,6 +315,7 @@ Once you have found some functions you can recover the builtins with: {% with a = request["application"]["\x5f\x5fglobals\x5f\x5f"]["\x5f\x5fbuiltins\x5f\x5f"]["\x5f\x5fimport\x5f\x5f"]("os")["popen"]("ls")["read"]() %} {{ a }} {% endwith %} {% endraw %} + ## Extra ## The global from config have a access to a function called import_string ## with this function you don't need to access the builtins @@ -357,8 +363,8 @@ The request will be urlencoded by default according to the HTTP format, which ca * [https://hackmd.io/@Chivato/HyWsJ31dI](https://hackmd.io/@Chivato/HyWsJ31dI) {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
diff --git a/pentesting-web/xss-cross-site-scripting/README.md b/pentesting-web/xss-cross-site-scripting/README.md index 63bb04086..13e63edd9 100644 --- a/pentesting-web/xss-cross-site-scripting/README.md +++ b/pentesting-web/xss-cross-site-scripting/README.md @@ -163,7 +163,7 @@ Some **examples**: When your input is reflected **inside the HTML page** or you can escape and inject HTML code in this context the **first** thing you need to do if check if you can abuse `<` to create new tags: Just try to **reflect** that **char** and check if it's being **HTML encoded** or **deleted** of if it is **reflected without changes**. **Only in the last case you will be able to exploit this case**.\ For this cases also **keep in mind** [**Client Side Template Injection**](../client-side-template-injection-csti.md)**.**\ -_**Note: A HTML comment can be closed using**** ****`-->`**** ****or**** ****`--!>`**_ +_**Note: A HTML comment can be closed using\*\*\*\***** ****`-->`**** ****or \*\*\*\*****`--!>`**_ In this case and if no black/whitelisting is used, you could use payloads like: @@ -1581,8 +1581,8 @@ If you are interested in **hacking career** and hack the unhackable - **we are h {% embed url="https://www.stmcyber.com/careers" %} {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)