๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“ŒCS/Web

[Web] XSS์™€ CSRF(XSRF)์˜ ์ฐจ์ด์ 

by dar0m! 2021. 8. 4.

์ด์ „์— XSS์™€ CSRF ์— ๋Œ€ํ•œ ๊ธ€์„ ์ž‘์„ฑํ•œ ์ ์ด ์žˆ์ง€๋งŒ ๋ณต์Šต๊ฒธ ์ฐจ์ด๋ฅผ ๋ถ„๋ช…ํžˆ ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์‹œ ์ž‘์„ฑํ•œ๋‹ค.

 

๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜์ž๋ฉด,

XSS๋Š” ๊ณต๊ฒฉ๋Œ€์ƒ์ด Client์ด๊ณ , CSRF๋Š” Server์ด๋‹ค.

 

XSS์€ ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ์›น์‚ฌ์ดํŠธ๋ฅผ ์‹ ์šฉํ•˜๋Š” ์ ์„ ๋…ธ๋ฆฐ ๊ฒƒ์ด๋ผ๋ฉด,
CSRF๋Š” ํŠน์ • ์›น์‚ฌ์ดํŠธ๊ฐ€ ์‚ฌ์šฉ์ž์˜ ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‹ ์šฉํ•˜๋Š” ์ƒํƒœ๋ฅผ ๋…ธ๋ฆฐ ๊ฒƒ์ด๋‹ค.

๋”ฐ๋ผ์„œ,

XSS๋Š” ์‚ฌ์ดํŠธ๋ณ€์กฐ๋‚˜ ๋ฐฑ๋„์–ด๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ์•…์„ฑ๊ณต๊ฒฉ์„ ํ•œ๋‹ค.
CSRF๋Š” ์š”์ฒญ์„ ์œ„์กฐํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ๊ถŒํ•œ์„ ์ด์šฉํ•ด ์„œ๋ฒ„์— ๋Œ€ํ•œ ์•…์„ฑ๊ณต๊ฒฉ์„ ํ•œ๋‹ค.

 

 

XSS(์‚ฌ์ดํŠธ ๊ฐ„ ์Šคํฌ๋ฆฝํŒ… : Cross-site Scripting)

์›น์‚ฌ์ดํŠธ ๊ด€๋ฆฌ์ž๊ฐ€ ์•„๋‹Œ ์ด๊ฐ€ ์›น ํŽ˜์ด์ง€์— ์•…์„ฑ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๋Š” ์ทจ์•ฝ์ ์œผ๋กœ ๋ฐœ์ƒ๋˜๋Š” ๊ณต๊ฒฉ์ด๋‹ค.

  • ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ ๋ฐ›์€ ๊ฐ’์„ ์ œ๋Œ€๋กœ ๊ฒ€์‚ฌํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ๋‚˜ํƒ€๋‚œ๋‹ค.
    • ์ฃผ๋กœ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๊ฒŒ ๋˜๋Š” ์ „์ž ๊ฒŒ์‹œํŒ์— ์•…์„ฑ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋‹ด๊ธด ๊ธ€์„ ์˜ฌ๋ฆฌ๋Š” ํ˜•ํƒœ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.
  • ์ด ์ทจ์•ฝ์ ์œผ๋กœ ํ•ด์ปค๊ฐ€ ์‚ฌ์šฉ์ž์˜ ์ •๋ณด(์ฟ ํ‚ค, ์„ธ์…˜ ๋“ฑ)๋ฅผ ํƒˆ์ทจํ•˜๊ฑฐ๋‚˜, ์ž๋™์œผ๋กœ ๋น„์ •์ƒ์ ์ธ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ํ•˜๊ฑฐ๋‚˜ ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์ฃผ๋กœ ๋‹ค๋ฅธ ์›น์‚ฌ์ดํŠธ์™€ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•˜๋Š” ์‹์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค.

๋Œ€์‘๋ฐฉ์•ˆ

  1. ํ•„ํ„ฐ ์ œ์ž‘
    • XSS ๊ณต๊ฒฉ์€ ์ž…๋ ฅ๊ฐ’์— ๋Œ€ํ•œ ๊ฒ€์ฆ์ด ์ œ๋Œ€๋กœ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์•„ ๋ฐœ์ƒํ•˜๋Š” ์ทจ์•ฝ์ ์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋ชจ๋“  ์ž…๋ ฅ๊ฐ’์— ๋Œ€ํ•ด ํ•„ํ„ฐ๋งํ•ด์•ผ ํ•œ๋‹ค.
    • script๋ฌธ์žฅ์— ์กด์žฌํ•˜๋Š” ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ๋ฉ”ํƒ€์บ๋ฆญํ„ฐ๋กœ ๋ณ€ํ™˜์‹œํ‚จ๋‹ค.
                      < ---- &lt
                      > ---- &gt
                      (  ---- &#40
                      )  ---- &#41
                     #  ---- &#35
                     &  ---- &#38
  2. BBCode ์‚ฌ์šฉ
    • ๋”ฐ๋กœ ํ•„ํ„ฐ๋ฅผ ๋งŒ๋“ค๊ธฐ ์–ด๋ ค์šด ๊ฒฝ์šฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ๋“ค๊ธฐ ํŽธํ•˜๊ณ , ์•ˆ์ •์„ฑ๋„ ๋†’์€ ํŽธ์ด๋‹ค.
  3. ์ฟ ํ‚ค์˜ ๋ณด์•ˆ ์˜ต์…˜ ์‚ฌ์šฉ
    • ์ฟ ํ‚ค ์ƒ์„ฑ์‹œ '๋ณด์•ˆ ์ฟ ํ‚ค'๋ผ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ง€์ •ํ•˜๋ฉด TLS ์ƒ์—์„œ๋งŒ ์‚ฌ์šฉํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  4. ์ฝ˜ํ…์ธ  ๋ณด์•ˆ ์ •์ฑ…(CSP) ์‚ฌ์šฉ
    • ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์— ๋Œ€ํ•œ ์ •์ฑ…(์กฐ๊ฑด)์„ ์„ค์ •ํ•ด ์˜ˆ๋ฐฉํ•˜๋Š” ๋ฐฉ๋ฒ• 
    • ์ถœ์ฒ˜๊ฐ€ ์ž๊ธฐ ์„œ๋ฒ„์ธ ์Šคํฌ๋ฆฝํŠธ๋งŒ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

 

CSRF(Cross-site Request Forgery)

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

  • ์ผ๋‹จ ์‚ฌ์šฉ์ž๊ฐ€ ์›น์‚ฌ์ดํŠธ์— ๋กœ๊ทธ์ธํ•œ ์ƒํƒœ์—์„œ ์‚ฌ์ดํŠธ๊ฐ„ ์š”์ฒญ ์œ„์กฐ ๊ณต๊ฒฉ ์ฝ”๋“œ๊ฐ€ ์‚ฝ์ž…๋œ ํŽ˜์ด์ง€๋ฅผ ์—ด๋ฉด,
    ๊ณต๊ฒฉ ๋Œ€์ƒ์ด ๋˜๋Š” ์›น์‚ฌ์ดํŠธ๋Š” ์œ„์กฐ๋œ ๊ณต๊ฒฉ ๋ช…๋ น์ด ๋ฏฟ์„ ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋ฐœ์†ก๋œ ๊ฒƒ์œผ๋กœ ํŒ๋‹จํ•˜๊ฒŒ ๋˜์–ด ๊ณต๊ฒฉ์— ๋…ธ์ถœ๋œ๋‹ค.

๋Œ€์‘ ๋ฐฉ์•ˆ

  1. CSRF ํ† ํฐ ์‚ฌ์šฉ
  2. ์žฌ์ธ์ฆ ์š”๊ตฌ

 

์ฐธ๊ณ 

๋Œ“๊ธ€