hacktricks/pentesting-web/hacking-with-cookies/cookie-tossing.md

6.6 KiB

Kutupa Cookie

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Maelezo

Ikiwa mshambuliaji anaweza kudhibiti subdomain au kikoa cha kampuni au kupata XSS kwenye subdomain ataweza kufanya shambulio hili.

Kama ilivyoelezwa katika sehemu ya Kudukua Cookies, wakati cookie inawekwa kwa kikoa (ikiainisha) itatumika kwenye kikoa na subdomains.

{% hint style="danger" %} Kwa hivyo, mshambuliaji ataweza kuweka cookie maalum kwa kikoa na subdomains kwa kufanya kitu kama document.cookie="session=1234; Path=/app/login; domain=.example.com" {% endhint %}

Hii inaweza kuwa hatari kwani mshambuliaji anaweza:

  • Kufunga cookie ya mwathiriwa kwenye akaunti ya mshambuliaji hivyo ikiwa mtumiaji hataki, atafanya vitendo kwenye akaunti ya mshambuliaji na mshambuliaji anaweza kupata taarifa muhimu (angalia historia ya utafutaji wa mtumiaji kwenye jukwaa, mwathiriwa anaweza kuweka kadi yake ya mkopo kwenye akaunti...)
  • Ikiwa cookie haibadiliki baada ya kuingia, mshambuliaji anaweza tu kufunga cookie (session-fixation), kusubiri hadi mwathiriwa aingie kisha tumia cookie hiyo kuingia kama mwathiriwa.
  • Mara nyingine, hata kama cookies ya kikao inabadilika, mshambuliaji anaweza kutumia ile ya awali na atapokea ile mpya pia.
  • Ikiwa cookie inaweka thamani ya awali (kama katika flask ambapo cookie inaweza weka tokeni ya CSRF ya kikao na thamani hii itabaki baada ya mwathiriwa kuingia), mshambuliaji anaweza kuweka thamani hii inayojulikana kisha kuitumia (katika hali hiyo, mshambuliaji anaweza kufanya mtumiaji atoe ombi la CSRF kwani anajua tokeni ya CSRF).
  • Kama vile kuweka thamani, mshambuliaji pia anaweza kupata cookie isiyo na uthibitishaji iliyotengenezwa na seva, kupata tokeni ya CSRF kutoka kwake na kuitumia.

Wakati kivinjari kinapokea cookies mbili zenye jina moja zinazoathiri sehemu sawa (kikoa, subdomains na njia), kivinjari kitatuma thamani zote za cookie wakati zote mbili ni halali kwa ombi.

Kulingana na nani ana njia ya kipekee zaidi au ni ipi ya zamani zaidi, kivinjari kitaweka thamani ya cookie kwanza na kisha thamani ya nyingine kama vile: Cookie: iduser=MoreSpecificAndOldestCookie; iduser=LessSpecific;

Zaidi tovuti zitatumia thamani ya kwanza. Kwa hivyo, ikiwa mshambuliaji anataka kuweka cookie ni bora kuweka kabla ya nyingine kuwekwa au kuweka na njia yenye kipekee zaidi.

{% hint style="warning" %} Zaidi ya hayo, uwezo wa kuweka cookie kwenye njia yenye kipekee zaidi ni muhimu sana kwani utaweza kufanya mwathiriwa afanye kazi na cookie yake isipokuwa kwenye njia maalum ambapo cookie mbaya iliyowekwa itatumwa kwanza. {% endhint %}

Kupitisha Ulinzi

Kinga inayowezekana dhidi ya shambulio hili ni kwamba mtandao hautakubali maombi yenye cookies mbili zenye jina moja lakini zenye thamani tofauti.

Ili kupitisha hali ambapo mshambuliaji anaweka cookie baada ya mwathiriwa kupewa cookie, mshambuliaji anaweza kusababisha kuzidi kwa cookie na kisha, mara tu cookie halali imefutwa, aweke ile mbaya.

{% content-ref url="cookie-jar-overflow.md" %} cookie-jar-overflow.md {% endcontent-ref %}

Bypass nyingine muhimu inaweza kuwa kutumia URL encode jina la cookie kwani baadhi ya kinga huchunguza cookies mbili zenye jina moja katika ombi na kisha seva itadecode majina ya cookies.

Shambulio la Kutupa Cookie pia linaweza kutumika kufanya shambulio la Bomu la Cookie:

{% content-ref url="cookie-bomb.md" %} cookie-bomb.md {% endcontent-ref %}

Ulinzis

  • Ikiwa jina la cookie lina kipimo hiki, litakubaliwa tu katika mwelekeo wa Set-Cookie ikiwa imehakikishwa, ilipelekwa kutoka asili salama, haifai kujumuisha sifa ya Kikoa, na ina sifa ya Njia iliyowekwa kwa /
  • Hii inazuia subdomains kushinikiza cookie kwa kikoa cha msingi kwani cookies hizi zinaweza kuonekana kama "zilizofungwa kwa kikoa"

Marejeo

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks: