์ƒ์„ธ ์ปจํ…์ธ 

๋ณธ๋ฌธ ์ œ๋ชฉ

[์ฟ ํ‚ค๐Ÿช] ์„œ๋“œํŒŒํ‹ฐ์ฟ ํ‚ค, ๊ณต๊ฒฉ์œ ํ˜•(์ค‘๊ฐ„์ž๊ณต๊ฒฉ, XSS, CSRF)

CS/๋„คํŠธ์›Œํฌ๐Ÿ•Š

by :ํ•ดํ”ผ๋ž˜๋น—๐Ÿพ 2025. 2. 14. 09:41

๋ณธ๋ฌธ

Thrid-Party Cookie

- ๋„๋ฉ”์ธ๊ณผ ์Šคํ‚ค๋งˆ๊ฐ€ ๋‹ค๋ฅด๋ฉด, ๊ฐ™์€ ์‚ฌ์ดํŠธ์—์„œ ์˜ค์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•˜๊ณ  ์ด๋ฅผ ํƒ€์‚ฌ ์ฟ ํ‚ค๋ผ๊ณ  ํ•œ๋‹ค. 

- ๋„๋ฉ”์ธ๊ณผ ์Šคํ‚ค๋งˆ๊ฐ€ ์‚ฌ์šฉ์ž๊ฐ€ ํ˜„์žฌ ๋ณด๊ณ  ์žˆ๋Š” ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— ํ‘œ์‹œ๋œ URL๊ณผ ์ผ์น˜ํ•˜๋ฉด, 

์ฟ ํ‚ค๋Š” ํŽ˜์ด์ง€์™€ ๋™์ผํ•œ ์‚ฌ์ดํŠธ์—์„œ ์˜จ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜๋ฉฐ 

์ด๋ฅผ First-Party Cookie ๋ผ๊ณ  ํ•œ๋‹ค.

 

Thrid Party Cookie ์ „์†ก ์˜ˆ์‹œ

- ํ•œ ์‚ฌ์ดํŠธ์˜ ๋งํฌ๋ฅผ ํด๋ฆญํ•˜์—ฌ ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒฝ์šฐ

- ํŽ˜์ด์ง€๊ฐ€ ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ์˜ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ž„๋ฒ ๋“œํ•˜๋Š” ๊ฒฝ์šฐ 


์ค‘๊ฐ„์ž ๊ณต๊ฒฉ

์š”์ฒญ์„ ์ค‘๊ฐ„์—์„œ ๊ฐ€๋กœ์ฑ„์…” ๋ณ€์กฐํ•˜์—ฌ ์ „๋‹ฌํ•˜๋Š” ๊ณต๊ฒฉ

 

https://developer.mozilla.org/en-US/docs/Glossary/MitM

 

MitM - MDN Web Docs Glossary: Definitions of Web-related terms | MDN

A manipulator-in-the-middle attack (MitM) intercepts a communication between two systems. For example, a Wi-Fi router can be compromised.

developer.mozilla.org

 


Cross-Site scripting (XSS)

๊ณต๊ฒฉ์ž๊ฐ€ ์›น์‚ฌ์ดํŠธ์— ์•…์„ฑ ํด๋ผ์ด์–ธํŠธ ์ธก ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๋Š” ๋ณด์•ˆ ์ต์Šคํ”Œ๋กœ์ž‡

 

 

Stored XSS Attacks

์ฃผ์ž…๋œ ์Šคํฌ๋ฆฝํŠธ๋Š” ๋Œ€์ƒ ์„œ๋ฒ„์— ์˜๊ตฌ์ ์œผ๋กœ ์ €์žฅ๋œ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ํ”ผํ•ด์ž๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ฐ์ดํ„ฐ ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ ์„œ๋ฒ„์—์„œ ์ด ์•…์„ฑ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ฒ€์ƒ‰ํ•œ๋‹ค. 

 

Reflected XSS Attacks

์‚ฌ์šฉ์ž๊ฐ€ ์•…์„ฑ ๋งํฌ๋ฅผ ํด๋ฆญํ•˜๊ฑฐ๋‚˜, ํŠน๋ณ„ํžˆ ์ œ์ž‘๋œ ์–‘์‹์„ ์ œ์ถœํ•˜๊ฑฐ๋‚˜, ์•…์„ฑ ์‚ฌ์ดํŠธ๋ฅผ ํƒ์ƒ‰ํ•˜๋„๋ก ์†์•˜์„ ๋•Œ, ์‚ฝ์ž…๋œ ์ฝ”๋“œ๋Š” ์ทจ์•ฝํ•œ ์›น์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•œ๋‹ค.

์›น ์„œ๋ฒ„๋Š” ์‚ฝ์ž…๋œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€, ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ๋˜๋Š” ์š”์ฒญ์˜ ์ผ๋ถ€๋กœ ์„œ๋ฒ„๋กœ ์ „์†ก๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋œ ๋‹ค๋ฅธ ์‘๋‹ต๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ์ž์˜ ๋ธŒ๋ผ์šฐ์ €๋กœ ๋‹ค์‹œ ๋ฐ˜์˜ํ•œ๋‹ค.

๋ธŒ๋ผ์šฐ์ €๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋ฏธ ์ƒํ˜ธ ์ž‘์šฉํ•œ "์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š”" ์„œ๋ฒ„์—์„œ ์‘๋‹ต์ด ์˜จ ๊ฒƒ์œผ๋กœ ๊ฐ€์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.

 

DOM - based XSS Attacks

ํŽ˜์ด๋กœ๋“œ๋Š” ์›๋ž˜ ํด๋ผ์ด์–ธํŠธ ์ธก ์Šคํฌ๋ฆฝํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” DOM ํ™˜๊ฒฝ(ํ”ผํ•ด์ž์˜ ๋ธŒ๋ผ์šฐ์ €์—์„œ)์„ ์ˆ˜์ •ํ•œ ๊ฒฐ๊ณผ๋กœ ์‹คํ–‰๋œ๋‹ค.

์ฆ‰, ํŽ˜์ด์ง€ ์ž์ฒด๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์ง€๋งŒ ํŽ˜์ด์ง€์— ํฌํ•จ๋œ ํด๋ผ์ด์–ธํŠธ ์ธก ์ฝ”๋“œ๋Š” DOM ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ์•…์˜์ ์ธ ์ˆ˜์ •์œผ๋กœ ์ธํ•ด ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ฐฉ์‹์œผ๋กœ ์‹คํ–‰๋œ๋‹ค.

 

 

 

https://developer.mozilla.org/en-US/docs/Web/Security/Types_of_attacks#cross-site_scripting_xss

 

Types of attacks - Security on the web | MDN

This article describes various types of security attacks and techniques to mitigate them.

developer.mozilla.org

 


์„ธ์…˜ ํ•˜์ด์žฌํ‚น

์„ธ์…˜ ํ•˜์ด์žฌํ‚น์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ธ์ฆ๋œ ์„ธ์…˜์„ ๊ณต๊ฒฉ์ž๊ฐ€ ๊ฐ€๋กœ์ฑ„์„œ ์•…์šฉํ•˜๋Š” ๊ณต๊ฒฉ ๊ธฐ๋ฒ•์ด๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์›น์‚ฌ์ดํŠธ์— ๋กœ๊ทธ์ธํ•˜๋ฉด ์„œ๋ฒ„๋Š” ์„ธ์…˜ ID(์ฟ ํ‚ค์— ์ €์žฅ)๋ฅผ ๋ฐœ๊ธ‰ํ•˜์—ฌ ์‚ฌ์šฉ์ž๋ฅผ ์‹๋ณ„ํ•˜๋Š”๋ฐ, ๊ณต๊ฒฉ์ž๊ฐ€ ์ด ์„ธ์…˜ ID๋ฅผ ํƒˆ์ทจํ•˜๋ฉด ์‚ฌ์šฉ์ž์˜ ๊ถŒํ•œ์„ ๊ทธ๋Œ€๋กœ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

 

์„ธ์…˜ ํ•˜์ด์žฌํ‚น ๊ณต๊ฒฉ ๋ฐฉ์‹

1. ์„ธ์…˜ ์ฟ ํ‚ค ํƒˆ์ทจ

- XSS๋ฅผ ์ด์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์„ธ์…˜ ์ฟ ํ‚ค๋ฅผ ๊ฐ€๋กœ์ฑˆ๋‹ค

- ๋„คํŠธ์›Œํฌ ์Šค๋‹ˆํ•‘์„ ํ†ตํ•ด HTTP ์š”์ฒญ์—์„œ ์„ธ์…˜ ์ฟ ํ‚ค๋ฅผ ํ™•๋ณดํ•œ๋‹ค 

 

2. ์„ธ์…˜ ์˜ˆ์ธก

- ์„œ๋ฒ„๊ฐ€ ๋ฐœ๊ธ‰ํ•˜๋Š” ์„ธ์…˜ ID๊ฐ€ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•  ๊ฒฝ์šฐ, ๊ณต๊ฒฉ์ž๊ฐ€ ์œ ํšจํ•œ ์„ธ์…˜ ID๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋กœ๊ทธ์ธ๋œ ์‚ฌ์šฉ์ž๋กœ ์œ„์žฅํ•œ๋‹ค 

 

3. MITM (์ค‘๊ฐ„์ž ๊ณต๊ฒฉ)

- ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ€๋กœ์ฑ„์„œ ์„ธ์…˜ ์ •๋ณด๋ฅผ ํƒˆ์ทจํ•œ๋‹ค 

 

๋ฐฉ์–ด ๋ฐฉ๋ฒ•

- HTTPS ์‚ฌ์šฉ : ๋„คํŠธ์›Œํฌ ๊ฐ€๋กœ์ฑ„๊ธฐ ๋ฐฉ์ง€

- HttpOnly ๋ฐ Secure ์†์„ฑ ์ ์šฉ : ์ฟ ํ‚ค๋ฅผ JavaScript์—์„œ ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•˜๋„๋กํ•˜๊ณ  HTTPS์—์„œ๋งŒ ์ „์†ก๋˜๋„๋ก ์„ค์ •ํ•œ๋‹ค 

- ์„ธ์…˜ ํƒ€์ž„์•„์›ƒ ์„ค์ • : ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ ๋น„ํ™œ์„ฑ ์ƒํƒœ๋ฉด ์„ธ์…˜์„ ์ž๋™์œผ๋กœ ์ข…๋ฃŒํ•œ๋‹ค

- IP ๋ฐ User-Agent ํ™•์ธ : ์„ธ์…˜์„ ์ƒ์„ฑํ•  ๋•Œ IP์™€ User-Agent ๊ฐ’์„ ํ•จ๊ป˜ ์ €์žฅํ•˜๊ณ , ์„ธ์…˜ ์‚ฌ์šฉ์‹œ ๋™์ผํ•œ์ง€ ํ™•์ธํ•œ๋‹ค 

 

https://developer.mozilla.org/en-US/docs/Web/Security/Types_of_attacks#session_hijacking

 

Types of attacks - Security on the web | MDN

This article describes various types of security attacks and techniques to mitigate them.

developer.mozilla.org

 


Cross-Site request forgery (CSRF)

๊ณต๊ฒฉ์ž๋Š” ์‚ฌ์šฉ์ž์˜ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์‚ฌ์šฉ์ž์˜ ๋™์˜๋‚˜ ์ง€์‹ ์—†์ด ์›น์‚ฌ์ดํŠธ ๋ฐฑ์—”๋“œ์— ์š”์ฒญ์„ ์ˆ˜ํ–‰ ํ•œ๋‹ค. 

 

์ด๋ฏธ์ง€ ํƒœ๊ทธ์— ์‹ค์ œ๋กœ ์€ํ–‰ ์„œ๋ฒ„์—์„œ ๋ˆ์„ ์ธ์ถœํ•˜๋ผ๋Š” ์š”์ฒญ ํƒœ๊ทธ๋ฅผ ๋„ฃ๋Š”๋‹ค.

๋ˆ„๊ตฐ๊ฐ€ ์€ํ–‰ ๊ณ„์ขŒ์— ๋กœ๊ทธ์ธํ–ˆ๊ณ  ์ฟ ํ‚ค๊ฐ€ ์—ฌ์ „ํžˆ ์œ ํšจํ•˜๋‹ค๋ฉด ์ด ์ด๋ฏธ์ง€๊ฐ€ ํฌํ•จ๋œ HTML ์„ ๋กœ๋“œํ•˜์ž๋งˆ์ž ๋ˆ์„ ์ด์ฒดํ•˜๊ฒŒ ๋œ๋‹ค. 

 

์ด๋Ÿฐ ์ผ์ด ์ผ์–ด๋‚˜์ง€ ์•Š๋„๋ก 

GET์€ ๋ฉฑ๋“ฑ์ ์œผ๋กœ ๊ตฌ์„ฑํ•œ๋‹ค (๋ณ€๊ฒฝ์€ POST, PUT, ...)

CSRF ํ† ํฐ์€ ์„œ๋ฒ„์—์„œ ๋ธŒ๋ผ์šฐ์ €์— ์ œ๊ณตํ•จ์œผ๋กœ์„œ ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†๋„๋กํ•œ๋‹ค 

์„ธ์…˜ ์ฟ ํ‚ค๋Š” SameStie ์†์„ฑ์ด Strict๋กœ ์„ค์ •๋œ ์งง์€ ์ˆ˜๋ช…์„ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค.

CSRF ํ† ํฐ๊ณผ SameStie ์ฟ ํ‚ค๋ฅผ ๋ชจ๋‘ ๋ฐฐํฌํ•ด์•ผ ํ•œ๋‹ค 

728x90

๊ด€๋ จ๊ธ€ ๋”๋ณด๊ธฐ