mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-27 15:12:11 +00:00
93 lines
6.6 KiB
Markdown
93 lines
6.6 KiB
Markdown
# Kutupa Cookie
|
|
|
|
<details>
|
|
|
|
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
|
|
|
|
Njia nyingine za kusaidia HackTricks:
|
|
|
|
* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
|
|
* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
|
|
|
|
</details>
|
|
|
|
### 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 muathiriwa kwenye akaunti ya mshambuliaji** hivyo ikiwa mtumiaji hataona, **atafanya vitendo kwenye akaunti ya mshambuliaji** na mshambuliaji anaweza kupata habari muhimu (angalia historia ya utafutaji wa mtumiaji kwenye jukwaa, muathiriwa anaweza kuweka kadi yake ya mkopo kwenye akaunti...)
|
|
* Ikiwa **cookie haibadiliki baada ya kuingia**, mshambuliaji anaweza tu **kufunga cookie (session-fixation)**, kusubiri mpaka muathiriwa aingie kisha **tumia cookie hiyo kuingia kama muathiriwa**.
|
|
* 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 muathiriwa kuingia), **mshambuliaji anaweza kuweka thamani hii inayojulikana kisha kuibua** (katika hali hiyo, mshambuliaji anaweza kufanya mtumiaji atoe ombi la CSRF kwani anajua tokeni ya CSRF).
|
|
* Kama kuweka thamani, mshambuliaji pia anaweza kupata cookie isiyo na uthibitishaji iliyotengenezwa na seva, kupata tokeni ya CSRF kutoka kwake na kutumia.
|
|
|
|
### Mpangilio wa Cookie
|
|
|
|
Wakati kivinjari kinapokea cookies mbili zenye jina moja **zinazoathiri sehemu ile ile** (kikoa, subdomains na njia), **kivinjari kitatuma thamani zote za cookie** ikiwa zote ni halali kwa ombi.
|
|
|
|
Kulingana na nani ana **njia yenye maelezo 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 nyingi zitatumia thamani ya kwanza**. Kwa hivyo, ikiwa mshambuliaji anataka kuweka cookie ni bora kuweka kabla ya nyingine kuwekwa au kuweka na njia yenye maelezo zaidi.
|
|
|
|
{% hint style="warning" %}
|
|
Zaidi ya hayo, uwezo wa **kuweka cookie kwenye njia yenye maelezo zaidi** ni muhimu sana kwani utaweza kufanya **muathiriwa afanye kazi na cookie yake isipokuwa kwenye njia maalum ambapo cookie mbaya iliyowekwa itatumwa kwanza**.
|
|
{% endhint %}
|
|
|
|
### Kupitisha Ulinzi
|
|
|
|
Ulinzi dhidi ya shambulio hili unaweza kuwa kwamba **mtandao hautakubali maombi yenye cookies mbili zenye jina moja lakini zenye thamani tofauti**.
|
|
|
|
Ili kupitisha hali ambapo mshambuliaji anaweka cookie baada ya muathiriwa kupewa tayari cookie, mshambuliaji anaweza kusababisha **kuzidi kwa cookie** na kisha, mara tu **cookie halali imefutwa, weka ile mbaya**.
|
|
|
|
{% content-ref url="cookie-jar-overflow.md" %}
|
|
[cookie-jar-overflow.md](cookie-jar-overflow.md)
|
|
{% endcontent-ref %}
|
|
|
|
Bypass nyingine muhimu inaweza kuwa **kutumia URL encode jina la cookie** kwani baadhi ya ulinzi huchunguza cookies 2 zenye jina moja katika ombi na kisha seva itadecode majina ya cookies.
|
|
|
|
### Bomu la Cookie
|
|
|
|
Shambulio la Kutupa Cookie pia linaweza kutumika kufanya shambulio la **Bomu la Cookie**:
|
|
|
|
{% content-ref url="cookie-bomb.md" %}
|
|
[cookie-bomb.md](cookie-bomb.md)
|
|
{% endcontent-ref %}
|
|
|
|
### Ulinzi
|
|
|
|
#### **Tumia kipimo cha awali `__Host` katika jina la cookie**
|
|
|
|
* Ikiwa jina la cookie lina kipimo hiki, **itaachwa 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 kufanya cookie kuwa kwa kikoa cha msingi kwani cookies hizi zinaweza kuonekana kama "zilizofungwa kwa kikoa"**
|
|
|
|
### Marejeo
|
|
|
|
* [**@blueminimal**](https://twitter.com/blueminimal)
|
|
* [**https://speakerdeck.com/filedescriptor/the-cookie-monster-in-your-browsers**](https://speakerdeck.com/filedescriptor/the-cookie-monster-in-your-browsers)
|
|
* [**https://github.blog/2013-04-09-yummy-cookies-across-domains/**](https://github.blog/2013-04-09-yummy-cookies-across-domains/)
|
|
* [**Cookie Crumbles: Unveiling Web Session Integrity Vulnerabilities**](https://www.youtube.com/watch?v=F\_wAzF4a7Xg)
|
|
|
|
<details>
|
|
|
|
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
|
|
|
|
Njia nyingine za kusaidia HackTricks:
|
|
|
|
* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
|
|
* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
|
|
|
|
</details>
|