Cookie Tossing

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ

Description

๊ณต๊ฒฉ์ž๊ฐ€ ์„œ๋ธŒ๋„๋ฉ”์ธ์ด๋‚˜ ํšŒ์‚ฌ์˜ ๋„๋ฉ”์ธ์„ ์ œ์–ดํ•˜๊ฑฐ๋‚˜ ์„œ๋ธŒ๋„๋ฉ”์ธ์—์„œ XSS๋ฅผ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ด ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Cookies Hacking ์„น์…˜์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด, ์ฟ ํ‚ค๊ฐ€ ๋„๋ฉ”์ธ์— ์„ค์ •๋˜๋ฉด(์ง€์ •ํ•  ๊ฒฝ์šฐ) ํ•ด๋‹น ๋„๋ฉ”์ธ๊ณผ ์„œ๋ธŒ๋„๋ฉ”์ธ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

Caution

๋”ฐ๋ผ์„œ, ๊ณต๊ฒฉ์ž๋Š” ํŠน์ • ์ฟ ํ‚ค๋ฅผ ๋„๋ฉ”์ธ๊ณผ ์„œ๋ธŒ๋„๋ฉ”์ธ์— ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด document.cookie="session=1234; Path=/app/login; domain=.example.com"

์ด๊ฒƒ์€ ์œ„ํ—˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ณต๊ฒฉ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ํฌ์ƒ์ž์˜ ์ฟ ํ‚ค๋ฅผ ๊ณต๊ฒฉ์ž์˜ ๊ณ„์ •์œผ๋กœ ๊ณ ์ •์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋ฅผ ์ธ์ง€ํ•˜์ง€ ๋ชปํ•˜๋ฉด, ๊ทธ๋Š” ๊ณต๊ฒฉ์ž์˜ ๊ณ„์ •์—์„œ ํ–‰๋™์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋˜๊ณ  ๊ณต๊ฒฉ์ž๋Š” ํฅ๋ฏธ๋กœ์šด ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(ํ”Œ๋žซํผ์—์„œ ์‚ฌ์šฉ์ž์˜ ๊ฒ€์ƒ‰ ๊ธฐ๋ก ํ™•์ธ, ํฌ์ƒ์ž๊ฐ€ ๊ณ„์ •์— ์‹ ์šฉ์นด๋“œ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Œโ€ฆ)
  • ์ด ์˜ˆ์‹œ๋Š” ์—ฌ๊ธฐ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ๊ณต๊ฒฉ์ž๊ฐ€ ํฌ์ƒ์ž๊ฐ€ ์ž์‹ ์˜ git ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ํŠน์ • ์„น์…˜์— ์ž์‹ ์˜ ์ฟ ํ‚ค๋ฅผ ์„ค์ •ํ•œ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ํ•„์š”ํ•œ ์—”๋“œํฌ์ธํŠธ์— ์ž์‹ ์˜ ์ฟ ํ‚ค๋ฅผ ์„ค์ •ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ๋กœ๊ทธ์ธ ํ›„ ์ฟ ํ‚ค๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์œผ๋ฉด, ๊ณต๊ฒฉ์ž๋Š” **์ฟ ํ‚ค๋ฅผ ๊ณ ์ •(session-fixation)**ํ•˜๊ณ  ํฌ์ƒ์ž๊ฐ€ ๋กœ๊ทธ์ธํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฐ ๋‹ค์Œ ๊ทธ ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํฌ์ƒ์ž์ฒ˜๋Ÿผ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋•Œ๋•Œ๋กœ, ์„ธ์…˜ ์ฟ ํ‚ค๊ฐ€ ๋ณ€๊ฒฝ๋˜๋”๋ผ๋„ ๊ณต๊ฒฉ์ž๋Š” ์ด์ „ ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์ƒˆ๋กœ์šด ์ฟ ํ‚ค๋„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ฟ ํ‚ค๊ฐ€ ์ดˆ๊ธฐ ๊ฐ’์„ ์„ค์ •ํ•˜๋Š” ๊ฒฝ์šฐ(์˜ˆ: flask์—์„œ ์ฟ ํ‚ค๊ฐ€ ์„ธ์…˜์˜ CSRF ํ† ํฐ์„ ์„ค์ •ํ•˜๊ณ  ์ด ๊ฐ’์ด ํฌ์ƒ์ž๊ฐ€ ๋กœ๊ทธ์ธํ•œ ํ›„์—๋„ ์œ ์ง€๋˜๋Š” ๊ฒฝ์šฐ), ๊ณต๊ฒฉ์ž๋Š” ์ด ์•Œ๋ ค์ง„ ๊ฐ’์„ ์„ค์ •ํ•œ ๋‹ค์Œ ์ด๋ฅผ ์•…์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ด ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ๊ณต๊ฒฉ์ž๋Š” CSRF ํ† ํฐ์„ ์•Œ๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์‚ฌ์šฉ์ž๊ฐ€ CSRF ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค).
  • ๊ฐ’์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ, ๊ณต๊ฒฉ์ž๋Š” ์„œ๋ฒ„์—์„œ ์ƒ์„ฑ๋œ ์ธ์ฆ๋˜์ง€ ์•Š์€ ์ฟ ํ‚ค๋ฅผ ์–ป๊ณ , ๊ทธ๋กœ๋ถ€ํ„ฐ CSRF ํ† ํฐ์„ ์–ป์–ด ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ฐ™์€ ์ด๋ฆ„์˜ ๋‘ ์ฟ ํ‚ค๋ฅผ ์ˆ˜์‹ ํ•˜๊ณ  ๊ฐ™์€ ๋ฒ”์œ„(๋„๋ฉ”์ธ, ์„œ๋ธŒ๋„๋ฉ”์ธ ๋ฐ ๊ฒฝ๋กœ)์— ๋ถ€๋ถ„์ ์œผ๋กœ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ฒฝ์šฐ, ๋ธŒ๋ผ์šฐ์ €๋Š” ์š”์ฒญ์— ๋Œ€ํ•ด ๋‘ ์ฟ ํ‚ค์˜ ๊ฐ’์„ ๋ชจ๋‘ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€์žฅ ๊ตฌ์ฒด์ ์ธ ๊ฒฝ๋กœ๋ฅผ ๊ฐ€์ง„ ์ฟ ํ‚ค๋‚˜ ์˜ค๋ž˜๋œ ์ฟ ํ‚ค์— ๋”ฐ๋ผ, ๋ธŒ๋ผ์šฐ์ €๋Š” ๋จผ์ € ์ฟ ํ‚ค์˜ ๊ฐ’์„ ์„ค์ •ํ•˜๊ณ  ๊ทธ ๋‹ค์Œ ๋‹ค๋ฅธ ์ฟ ํ‚ค์˜ ๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ: Cookie: iduser=MoreSpecificAndOldestCookie; iduser=LessSpecific;

๋Œ€๋ถ€๋ถ„์˜ ์›น์‚ฌ์ดํŠธ๋Š” ์ฒซ ๋ฒˆ์งธ ๊ฐ’๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ณต๊ฒฉ์ž๊ฐ€ ์ฟ ํ‚ค๋ฅผ ์„ค์ •ํ•˜๋ ค๋ฉด ๋‹ค๋ฅธ ์ฟ ํ‚ค๊ฐ€ ์„ค์ •๋˜๊ธฐ ์ „์— ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ๋” ๊ตฌ์ฒด์ ์ธ ๊ฒฝ๋กœ๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

Warning

๋˜ํ•œ, ๋” ๊ตฌ์ฒด์ ์ธ ๊ฒฝ๋กœ์— ์ฟ ํ‚ค๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์€ ๋งค์šฐ ํฅ๋ฏธ๋กญ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํฌ์ƒ์ž๊ฐ€ ์•…์„ฑ ์ฟ ํ‚ค๊ฐ€ ์„ค์ •๋œ ํŠน์ • ๊ฒฝ๋กœ๋ฅผ ์ œ์™ธํ•˜๊ณ  ์ž์‹ ์˜ ์ฟ ํ‚ค๋กœ ์ž‘์—…ํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Protection Bypass

์ด ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ๊ฐ€๋Šฅํ•œ ๋ณดํ˜ธ๋Š” ์›น ์„œ๋ฒ„๊ฐ€ ๊ฐ™์€ ์ด๋ฆ„์˜ ๋‘ ์ฟ ํ‚ค๋ฅผ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ์ˆ˜๋ฝํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ณต๊ฒฉ์ž๊ฐ€ ํฌ์ƒ์ž์—๊ฒŒ ์ด๋ฏธ ์ฟ ํ‚ค๊ฐ€ ์ œ๊ณต๋œ ํ›„ ์ฟ ํ‚ค๋ฅผ ์„ค์ •ํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์šฐํšŒํ•˜๊ธฐ ์œ„ํ•ด, ๊ณต๊ฒฉ์ž๋Š” ์ฟ ํ‚ค ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ •์ƒ ์ฟ ํ‚ค๊ฐ€ ์‚ญ์ œ๋˜๋ฉด ์•…์„ฑ ์ฟ ํ‚ค๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Cookie Jar Overflow

๋˜ ๋‹ค๋ฅธ ์œ ์šฉํ•œ ์šฐํšŒ ๋ฐฉ๋ฒ•์€ ์ฟ ํ‚ค์˜ ์ด๋ฆ„์„ URL ์ธ์ฝ”๋”ฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ผ๋ถ€ ๋ณดํ˜ธ๋Š” ์š”์ฒญ์—์„œ ๊ฐ™์€ ์ด๋ฆ„์˜ ๋‘ ์ฟ ํ‚ค๋ฅผ ํ™•์ธํ•˜๊ณ  ์„œ๋ฒ„๋Š” ์ฟ ํ‚ค์˜ ์ด๋ฆ„์„ ๋””์ฝ”๋”ฉํ•ฉ๋‹ˆ๋‹ค.

Cookie Tossing ๊ณต๊ฒฉ์€ Cookie Bomb ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ์—๋„ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

Cookie Bomb

Defenses

์ฟ ํ‚ค ์ด๋ฆ„์— ์ ‘๋‘์‚ฌ __Host ์‚ฌ์šฉ

  • ์ฟ ํ‚ค ์ด๋ฆ„์— ์ด ์ ‘๋‘์‚ฌ๊ฐ€ ์žˆ์œผ๋ฉด, Secure๋กœ ํ‘œ์‹œ๋˜๊ณ , ์•ˆ์ „ํ•œ ์ถœ์ฒ˜์—์„œ ์ „์†ก๋˜๋ฉฐ, Domain ์†์„ฑ์ด ํฌํ•จ๋˜์ง€ ์•Š๊ณ , Path ์†์„ฑ์ด /๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ์—๋งŒ Set-Cookie ์ง€์‹œ๋ฌธ์—์„œ ์ˆ˜๋ฝ๋ฉ๋‹ˆ๋‹ค.
  • ์ด๊ฒƒ์€ ์„œ๋ธŒ๋„๋ฉ”์ธ์ด ์ฟ ํ‚ค๋ฅผ ์ตœ์ƒ์œ„ ๋„๋ฉ”์ธ์œผ๋กœ ๊ฐ•์ œ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฟ ํ‚ค๋Š” โ€œ๋„๋ฉ”์ธ ์ž ๊ธˆโ€œ์œผ๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

References

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ