Cookie Tossing
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ikiwa mshambuliaji anaweza kudhibiti subdomain au domain ya kampuni au kupata XSS katika subdomain atakuwa na uwezo wa kufanya shambulio hili.
Kama ilivyosemwa katika sehemu ya Cookies Hacking, wakati cookie imewekwa kwa domain (ikiwekwa wazi) itatumika katika domain na subdomains.
Kwa hivyo, mshambuliaji atakuwa na uwezo wa kuweka cookie maalum kwa domain na subdomains akifanya kitu kama document.cookie="session=1234; Path=/app/login; domain=.example.com"
Hii inaweza kuwa hatari kwani mshambuliaji anaweza:
Kuweka cookie ya mwathirika kwa akaunti ya mshambuliaji hivyo ikiwa mtumiaji hataona, atafanya vitendo katika akaunti ya mshambuliaji na mshambuliaji anaweza kupata taarifa za kuvutia (angalia historia ya utafutaji wa mtumiaji katika jukwaa, mwathirika anaweza kuweka kadi yake ya mkopo katika akaunti...)
Ikiwa cookie haibadiliki baada ya kuingia, mshambuliaji anaweza tu kuweka cookie (session-fixation), kusubiri hadi mwathirika aingie na kisha atumie cookie hiyo kuingia kama mwathirika.
Wakati mwingine, hata kama cookie za kikao zinabadilika, mshambuliaji hutumia ile ya awali na atapata mpya pia.
Ikiwa cookie inaweka thamani fulani ya awali (kama katika flask ambapo cookie inaweza kuweka CSRF token ya kikao na thamani hii itadumishwa baada ya mwathirika kuingia), mshambuliaji anaweza kuweka thamani hii inayojulikana na kisha kuitumia (katika hali hiyo, mshambuliaji anaweza kumfanya mtumiaji afanye ombi la CSRF kwani anajua CSRF token).
Kama vile kuweka thamani, mshambuliaji pia anaweza kupata cookie isiyo na uthibitisho iliyozalishwa na seva, kupata CSRF token kutoka kwake na kuitumia.
Wakati kivinjari kinapokea cookies mbili zenye jina sawa zinazoathiri sehemu sawa (domain, subdomains na njia), kivinjari kitatumia thamani zote za cookie wakati zote ni halali kwa ombi.
Kulingana na nani ana njia maalum zaidi au ambayo ni ya zamani zaidi, kivinjari kita weka thamani ya cookie kwanza na kisha thamani ya nyingine kama katika: Cookie: iduser=MoreSpecificAndOldestCookie; iduser=LessSpecific;
Mara nyingi tovuti zitatumia tu thamani ya kwanza. Kisha, ikiwa mshambuliaji anataka kuweka cookie ni bora kuiweka kabla ya nyingine kuwekwa au kuiweka na njia maalum zaidi.
Zaidi ya hayo, uwezo wa kuweka cookie katika njia maalum zaidi ni wa kuvutia kwani utaweza kumfanya mwathirika afanye kazi na cookie yake isipokuwa katika njia maalum ambapo cookie mbaya itakayowekwa itatumwa kwanza.
Ulinzi unaowezekana dhidi ya shambulio hili ungekuwa kwamba seva ya wavuti haitakubali maombi yenye cookies mbili zenye jina sawa lakini zenye thamani tofauti.
Ili kupita hali ambapo mshambuliaji anaweka cookie baada ya mwathirika tayari kupatiwa cookie, mshambuliaji anaweza kusababisha cookie overflow na kisha, mara cookie halali itakapofutwa, kuweka ile mbaya.
Cookie Jar OverflowNjia nyingine ya kupita inaweza kuwa kuandika jina la cookie kwa URL kwani baadhi ya ulinzi huangalia cookies 2 zenye jina sawa katika ombi na kisha seva itachambua majina ya cookies.
Shambulio la Cookie Tossing linaweza pia kutumika kufanya shambulio la Cookie Bomb:
Cookie Bomb__Host
katika jina la cookieIkiwa jina la cookie lina kiambishi hiki, litawekwa tu katika mwelekeo wa Set-Cookie ikiwa imewekwa Secure, ilitumwa kutoka chanzo salama, haina kiatributi cha Domain, na ina kiatributi cha Path kilichowekwa kwa /
Hii inazuia subdomains kulazimisha cookie kwa domain ya juu kwani cookies hizi zinaweza kuonekana kama "zilizofungwa kwa domain"
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)