hacktricks/pentesting-web/hacking-with-cookies/cookie-tossing.md
2024-02-11 02:13:58 +00:00

6.2 KiB

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 Vidakuzi, wakati kidakuzi kinawekwa kwenye kikoa (kikiainisha), kitatumika kwenye kikoa na subdomain.

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

Hii inaweza kuwa hatari kwani mshambuliaji anaweza:

  • Kufunga kidakuzi cha mwathirika kwenye akaunti ya mshambuliaji hivyo ikiwa mtumiaji hataoni, atafanya vitendo kwenye akaunti ya mshambuliaji na mshambuliaji anaweza kupata habari muhimu (angalia historia ya utafutaji wa mtumiaji kwenye jukwaa, mwathirika anaweza kuweka kadi yake ya mkopo kwenye akaunti...)
  • Ikiwa kidakuzi hakibadiliki baada ya kuingia, mshambuliaji anaweza tu kufunga kidakuzi, kusubiri hadi mwathirika aingie kisha kutumia kidakuzi hicho kuingia kama mwathirika.
  • Ikiwa kidakuzi kinaweka thamani ya awali (kama kwenye flask ambapo kidakuzi kinaweza kuweka kitufe cha CSRF cha kikao na thamani hii itabaki baada ya mwathirika kuingia), mshambuliaji anaweza kuweka thamani hii inayojulikana na kisha kuitumia vibaya (katika hali hiyo, mshambuliaji anaweza kumfanya mtumiaji afanye ombi la CSRF kwani anajua kitufe cha CSRF).

Mpangilio wa Kidakuzi

Wakati kivinjari kinapokea vidakuzi viwili vyenye jina sawa vinavyoathiri sehemu sawa (kikoa, subdomain na njia), kivinjari kitatuma thamani zote za kidakuzi ikiwa zote ni halali kwa ombi.

Kulingana na nani ana njia maalum zaidi au ni kipya zaidi, kivinjari kitaweka thamani ya kidakuzi kwanza na kisha thamani ya kidakuzi kingine kama vile: Cookie: iduser=MoreSpecificAndOldestCookie; iduser=LessSpecific;

Zaidi tovuti nyingi zitatumia thamani ya kwanza. Kwa hivyo, ikiwa mshambuliaji anataka kuweka kidakuzi ni bora kuweka kabla ya kidakuzi kingine kuwekwa au kuweka kidakuzi na njia maalum zaidi.

{% hint style="warning" %} Zaidi ya hayo, uwezo wa kuweka kidakuzi kwenye njia maalum zaidi ni muhimu sana kwani utaweza kufanya mwathirika afanye kazi na kidakuzi chake isipokuwa kwenye njia maalum ambapo kidakuzi cha hatari kitawekwa kwanza. {% endhint %}

Kuvuka Ulinzi

Ulinzi unaowezekana dhidi ya shambulio hili ni kwamba mtandao wa wavuti hautakubali ombi lenye vidakuzi viwili vyenye jina sawa lakini thamani tofauti.

Ili kuvuka hali ambapo mshambuliaji anaweka kidakuzi baada ya mwathirika kupewa kidakuzi, mshambuliaji anaweza kusababisha kidakuzi kujaa na kisha, mara tu kidakuzi halali kinapofutwa, kuweka kidakuzi hatari.

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

Bypass nyingine inayoweza kuwa na manufaa ni kutumia URL encode jina la kidakuzi kwani baadhi ya ulinzi huchunguza vidakuzi 2 vyenye jina sawa kwenye ombi na kisha seva itadecode majina ya vidakuzi.

Shambulio la Cookie Tossing pia linaweza kutumika kufanya shambulio la Cookie Bomb:

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

Ulinzi

Tumia kipengele cha awali __Host kwenye jina la kidakuzi

  • Ikiwa jina la kidakuzi lina kipengele hiki cha awali, kitakubaliwa tu katika maelekezo ya Set-Cookie ikiwa kimehakikishwa, kimetumwa kutoka asili salama, hakijumuishi sifa ya Kikoa, na ina sifa ya Njia iliyowekwa kwa /
  • Hii inazuia subdomains kufanya kidakuzi kwa kikoa kuu kwani vidakuzi hivi vinaweza kuonekana kama "vilivyofungwa 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: