์ƒˆ์†Œ์‹

IT & Security/Web

XSS์™€ CSRF ํŠน์ง• ๋ฐ ์ฐจ์ด

  • -
๋ฐ˜์‘ํ˜•

์•ˆ๋…•ํ•˜์„ธ์š” ์˜ค๋Š˜์€ XSS์™€ CSRF๋ฅผ ์•Œ์•„๋ณด๊ณ 

๋‘ ๊ณต๊ฒฉ์˜ ์ฐจ์ด์ ์„ ์•Œ์•„๋ณด๋„๋ก ํ• ๊ป˜์š”!

์ถœ์ฒ˜ : https://www.netsparker.com/blog/web-security/cross-site-scripting-xss/

 

 

 


 

 

 

  • XSS(Cross-Site Scripting)๋ž€?

ํฌ๋กœ์Šค ์‚ฌ์ดํŠธ ์Šคํฌ๋ฆฝํŒ…(์‚ฌ์ดํŠธ ๊ฐ„ ์Šคํฌ๋ฆฝํŒ… )์€ SQL injection๊ณผ ํ•จ๊ป˜ ์›น ์ƒ์—์„œ ๊ฐ€์žฅ ๊ธฐ์ดˆ์ ์ธ ์ทจ์•ฝ์  ๊ณต๊ฒฉ ๋ฐฉ๋ฒ•์˜ ์ผ์ข…์œผ๋กœ, ์•…์˜์ ์ธ ์‚ฌ์šฉ์ž๊ฐ€ ๊ณต๊ฒฉํ•˜๋ ค๋Š” ์‚ฌ์ดํŠธ์— ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋„ฃ๋Š” ๊ธฐ๋ฒ•์„ ๋งํ•œ๋‹ค. ์ฃผ๋กœ ๋‹ค๋ฅธ ์›น์‚ฌ์ดํŠธ์™€ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•˜๋Š” ์‹์œผ๋กœ ์ž‘๋™ํ•˜๋ฏ€๋กœ ์‚ฌ์ดํŠธ ๊ฐ„ ์Šคํฌ๋ฆฝํŒ…์ด๋ผ๊ณ  ๋ช…์นญํ•œ๋‹ค.

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


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

 

๊ณต๊ฒฉ ๋ฐฉ๋ฒ•์— ๋”ฐ๋ผ Stored XSS์™€ Reflected XSS๋กœ ๋‚˜๋‰œ๋‹ค. Stored XSS๋Š” ์‚ฌ์ดํŠธ ๊ฒŒ์‹œํŒ์ด๋‚˜ ๋Œ“๊ธ€, ๋‹‰๋„ค์ž„ ๋“ฑ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์„œ๋ฒ„์— ์ €์žฅ๋˜์–ด ์‹คํ–‰๋˜๋Š” ๋ฐฉ์‹์ด๊ณ , Reflected XSS๋Š” ๋ณดํ†ต URL ํŒŒ๋ผ๋ฏธํ„ฐ(ํŠนํžˆ GET ๋ฐฉ์‹)์— ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋„ฃ์–ด ์„œ๋ฒ„์— ์ €์žฅํ•˜์ง€ ์•Š๊ณ  ๊ทธ ์ฆ‰์‹œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ์‹์ด๋‹ค. ํ›„์ˆ ๋œ ๋‚ด์šฉ ๋Œ€๋ถ€๋ถ„์€ Stored XSS๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. Reflected XSS์˜ ๊ฒฝ์šฐ ๋ธŒ๋ผ์šฐ์ € ์ž์ฒด์—์„œ ์ฐจ๋‹จํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„ ์ƒ๋Œ€์ ์œผ๋กœ ๊ณต๊ฒฉ์„ ์„ฑ๊ณต์‹œํ‚ค๊ธฐ ์–ด๋ ต๋‹ค.

 

 

 

 

  • Stored XSS์™€ Reflected XSS ์ฐจ์ด๋Š”?

Stored XSS(์ €์žฅํ˜•) Reflected XSS(๋ฐ˜์‚ฌํ˜•)

โ–ถ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ XSS๊ณต๊ฒฉ ์œ ํ˜•์ด๋‹ค.

โ–ถ ์ •์ƒ์  ํ‰๋ฌธx -> ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

 

โ–ถ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฒŒ์‹œ๋ฌผ์„ ์—ด๋žŒ์‹œ, ๊ณต๊ฒฉ์ž๊ฐ€ ์ž…๋ ฅํ•ด๋†“์€ ์•…์„ฑ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋˜์–ด ์‚ฌ์šฉ์ž์˜ ์ฟ ํ‚ค ์ •๋ณด๊ฐ€ ์œ ์ถœ๋˜๊ฑฐ๋‚˜, ์•…์„ฑ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๊ธฐํšํ•œ ๊ณต๊ฒฉ์— ๋‹นํ•˜๊ฒŒ ๋œ๋‹ค.

 

โ–ถ ์ €์žฅ๋œ(์ง€์†์ ) XSS๊ณต๊ฒฉ์€ ๊ณต๊ฒฉ์ž๊ฐ€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์†์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์•…์„ฑ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•˜๋„๋ก ํ•˜๋Š” ์ˆ˜๋ฒ•์ด๋‹ค.

์„œ๋ฒ„์— ์ €์žฅ๋œ ์•…์„ฑ์ฝ”๋“œ๋Š” ์‹œ์Šคํ…œ ์ž์ฒด๋ฅผ ๊ณต๊ฒฉ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์›น ์•ฑ ์‚ฌ์šฉ์ž ์ƒ๋‹น์ˆ˜ ๋˜๋Š” ์ „์ฒด์— ์•…์„ฑ ์ฝ”๋“œ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

โ–ถ ์ผ๋ฐ˜์ ์ธ ์˜ˆ๋กœ๋Š” ๋ธ”๋กœ๊ทธ ๋Œ“๊ธ€์— ์•…์„ฑ์ฝ”๋“œ๋ฅผ ๊ฒŒ์‹œํ•˜๋Š” ๊ฒƒ์ด ์žˆ๋‹ค. (ํ•ด๋‹น ๋ธ”๋กœ๊ทธ๋ฅผ ๋ฐฉ๋ฌธํ•˜๋Š” ์‚ฌ๋žŒ์€ ๋ˆ„๊ตฌ๋‚˜ ์•…์„ฑ์ฝ”๋“œ์˜ ํ”ผํ•ด์ž๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.)

 

โ–ถ ๋”ฐ๋ผ์„œ ์ง€์†์ (์ €์žฅํ˜•) XSS ๊ฐ€์žฅ ์œ„ํ—˜ํ•œ XSS๊ณต๊ฒฉ ์œ ํ˜•์ด๋‹ค.

 

โ–ถ URL์˜ ๋ณ€์ˆ˜ ๋ถ€๋ถ„์ฒ˜๋Ÿผ ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๋™์‹œ์— ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ”๋กœ ์ „ํ•ด์ง€๋Š” ๊ณต๊ฒฉ๊ธฐ๋ฒ•์ด๋‹ค.

โ–ถ ๋ฐ˜์‚ฌ๋œ XSS๋Š” ํ”ผ์‹ฑ ๊ณต๊ฒฉ์˜ ์ผ๋ถ€๋กœ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋ฉฐ ์•…์šฉํ•˜๊ธฐ๋„, ์ฐจ๋‹จํ•˜๊ธฐ๋„ ๊ฐ€์žฅ ์‰ฝ๋‹ค.

 

โ–ถ ๊ณต๊ฒฉ์ž๊ฐ€ HTTP ์š”์ฒญ์— ์•…์„ฑ ์ฝ˜ํ…์ธ ๋ฅผ ์ฃผ์ž…ํ•˜๋ฉด ๊ทธ ๊ฒฐ๊ณผ๊ฐ€ ์‚ฌ์šฉ์ž์—๊ฒŒ "๋ฐ˜์‚ฌ๋˜๋Š”" ํ˜•ํƒœ์ด๋‹ค.

 

โ–ถ ๋งํฌ๋ฅผ ํด๋ฆญํ•˜๋„๋ก ํ”ผํ•ด์ž๋ฅผ ์†์ด๊ณ , ์œ ์ธํ•ด ์„ธ์…˜์„ ํ•˜์ด์žฌํ‚น ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฒฉ์ด๋‹ค.

 

โ–ถ ๋ฐ˜์‚ฌ๋œ XSS๋Š” ํ”ผ์‹ฑ ๊ณต๊ฒฉ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.

 

โ–ถ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์•…์„ฑ์ฝ”๋“œ๋ฅผ ํ”ผํ•ด์ž์—๊ฒŒ ๋ฐ˜์‚ฌํ•ด ํ”ผํ•ด์ž์˜ ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์•…์„ฑ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ถœ์ฒ˜  : https://dlsdn73.tistory.com/634

 

 

 

  • CSRF(Cross-Site Request Fogery)๋ž€?

์‚ฌ์ดํŠธ ๊ฐ„ ์š”์ฒญ ์œ„์กฐ(๋˜๋Š” ํฌ๋กœ์Šค ์‚ฌ์ดํŠธ ์š”์ฒญ ์œ„์กฐ, CSRFXSRF)๋Š” ์›น ์‚ฌ์ดํŠธ ์ทจ์•ฝ์  ๊ณต๊ฒฉ์˜ ํ•˜๋‚˜๋กœ,

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

์œ ๋ช… ๊ฒฝ๋งค ์‚ฌ์ดํŠธ์ธ ์˜ฅ์…˜์—์„œ ๋ฐœ์ƒํ•œ ๊ฐœ์ธ์ •๋ณด ์œ ์ถœ ์‚ฌ๊ฑด์—์„œ ์‚ฌ์šฉ๋œ ๊ณต๊ฒฉ ๋ฐฉ์‹ ์ค‘ ํ•˜๋‚˜๋‹ค.

 

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

 

CSRF๋Š” ๊ณต๊ฒฉ์ž๊ฐ€ ์‚ฌ์šฉ์ž์˜ ์ปดํ“จํ„ฐ๋ฅผ ๊ฐ์—ผ์‹œํ‚ค๊ฑฐ๋‚˜ ์‚ฌ์ดํŠธ ํ•ดํ‚น์„ ํ•ด์„œ ์ด๋ค„์ง€๋Š” ๊ณต๊ฒฉ์ด ์•„๋‹ˆ๋ฏ€๋กœ  ๊ณต๊ฒฉ์ด ์„ฑ๊ณตํ•˜๋ ค๋ฉด ๋‹ค์Œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค.

 1. ์œ„์กฐ ์š”์ฒญ์„ ์ „์†กํ•˜๋Š” ์„œ๋น„์Šค(ex : ํŽ˜์ด์Šค๋ถ)์— ํฌ์ƒ์ž๊ฐ€ ๋กœ๊ทธ์ธ ์ƒํƒœ์—ฌ์•ผํ•จ.

 2. ํฌ์ƒ์ž๋Š” ๊ณต๊ฒฉ์ž๊ฐ€ ๋งŒ๋“  ํ”ผ์‹ฑ ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•ด์•ผํ•จ.

 

 

  • XSS vs CSRF 

 

โ–ถ XSS(Cross-Site Scripting)  โ–ถ CSRF(Cross-Site Request Forgery) 
โ—‹ ๊ฐœ์š” : ์•…์„ฑ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—์„œ ์‹คํ–‰๋จ 

โ—‹ ๊ณต๊ฒฉ ๋Œ€์ƒ : ํด๋ผ์ด์–ธํŠธ 

โ—‹ ๋ชฉ์  : ์ฟ ํ‚คใ†์„ธ์…˜ ๊ฐˆ์ทจ, ์›น์‚ฌ์ดํŠธ ๋ณ€์กฐ ๋“ฑ

โ—‹ ๊ฐœ์š” : ๊ถŒํ•œ์„ ๋„์šฉ๋‹นํ•œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ฐ€์งœ ์š”์ฒญ์„ ์„œ๋ฒ„์— ์ „์†ก 

โ—‹ ๊ณต๊ฒฉ ๋Œ€์ƒ : ์„œ๋ฒ„ 

โ—‹ ๋ชฉ์  : ๊ถŒํ•œ ๋„์šฉ 

 


XSS๊ณต๊ฒฉ๊ณผ CSRF๋Š” ์‚ฌ์šฉ์ž(ํ”ผํ•ด์ž)์˜ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ๋น„์Šทํ•œ ๊ณต๊ฒฉ์ด์ง€๋งŒ

XSS๋Š” ์‚ฌ์ดํŠธ๋ณ€์กฐ๋‚˜ ๋ฐฑ๋„์–ด๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ์•…์„ฑ๊ณต๊ฒฉ์„ ํ•˜๊ณ ,

์ธ์ฆ๋œ ์„ธ์…˜์ด ์—†์–ด๋„ ๊ณต๊ฒฉ์„ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ ์‹œํ‚ค๋Š” ๊ณต๊ฒฉ.

 

CSRF๋Š” ์š”์ฒญ์„ ์œ„์กฐํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ๊ถŒํ•œ์„ ์ด์šฉํ•ด ์„œ๋ฒ„์— ๋Œ€ํ•œ ์•…์„ฑ๊ณต๊ฒฉ์„ ํ•˜๊ณ ,

์ธ์ฆ๋œ ์„ธ์…˜์„ ์•…์šฉํ•˜๋ฉฐ, ํŠน์ •ํ•œ ํ–‰๋™์„ ์‹คํ–‰ ์‹œํ‚ค๋Š” ๊ณต๊ฒฉ์ด๋ผ๋Š” ์ ์—์„œ

๋‘๊ฐ€์ง€ ๊ณต๊ฒฉ์˜ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

 

 


 

๊ทธ๋ ‡๋‹ค๋ฉด ๋‘ ๊ณต๊ฒฉ์˜ ๋ฐฉ์ง€๋Œ€์ฑ…์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

XSS์˜ ๋ฐฉ์ง€ ๋Œ€์ฑ… CSRF์˜ ๋ฐฉ์ง€ ๋Œ€์ฑ…

1. ์ฟ ํ‚ค์— ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ๋‹ด์ง€ ์•Š๊ณ  ์„œ๋ฒ„์— ์ค‘์š”์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•

2. ์ •๋ณด๋ฅผ ์•”ํ˜ธํ™” ํ•˜๋Š” ๋ฐฉ๋ฒ•

 

3. httponly ์†์„ฑ on 

(์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ document.cookie๋ฅผ ์ด์šฉํ•ด์„œ ์ฟ ํ‚ค์— ์ ‘์†ํ•˜๋Š” ๊ฒƒ์„ ๋ง‰๋Š” ์˜ต์…˜์œผ๋กœ, ์ฟ ํ‚ค๋ฅผ ํ›”์ณ๊ฐ€๋Š” ํ–‰์œ„๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค.)

 

4. Secure coding

(str_replace <์น˜ํ™˜ํ•จ์ˆ˜๋กœ XSS๋ฐฉ์ง€ ๋Œ€์ฑ…์ด์ง€๋งŒ ๋ฏธํกํ•œ ๋ถ€๋ถ„์ด ์žˆ๋‹ค -> url encoding>

htmlspecialchars <html ์—”ํ„ฐํ‹ฐ๋กœ ๋ณ€ํ™˜ํ•ด์คŒ> ..๋“ฑ

๋ณด์•ˆ๊ณผ ๊ด€๋ จ๋œ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.)

 

โ–ถ Encoding : ํŠน์ • ํ”Œ๋žซํผ์—์„œ ๋ฌธ์ž๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๊ทœ์•ฝ 

1. Referrer ๊ฒ€์ฆ

(Back -end ๋‹จ์—์„œ request ์˜ referrer์„ ํ™•์ธํ•˜์—ฌ domain์ด ์ผ์น˜ํ•˜๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋ฐฉ๋ฒ•)

 

2. Security Token ์‚ฌ์šฉ

 

(Reffer๊ฒ€์ฆ์ด ๋ถˆ๊ฐ€ํ•œ ํ™˜๊ฒฝ์ผ ์‹œ, Security Token์„ ํ™œ์šฉํ•œ๋‹ค.

์‚ฌ์šฉ์ž ์„ธ์…˜์— ์ž„์˜์˜ ๋‚œ์ˆ˜ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ , ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ๋งˆ๋‹ค ํ•ด๋‹น ๋‚œ์ˆ˜ ๊ฐ’์„ ํฌํ•จ ์‹œ์ผœ ์ „์†กํ•œ๋‹ค.

์ดํ›„ Back -end ๋‹จ์—์„œ ์š”์ฒญ์„ ๋ฐ›์„ ๋–„๋งˆ๋‹ค ์„ธ์…˜์— ์ €์žฅ๋œ ํ† ํฐ ๊ฐ’๊ณผ ์š”์ฒญ ํŒŒ๋ผ๋ฏธํ„ฐ์— ์ „๋‹ฌ๋˜๋Š” ํ† ํฐ ๊ฐ’์ด ์ผ์น˜ํ•œ์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋ฐฉ๋ฒ•)

 

๋‘ ๋ฐฉ๋ฒ• ๋ชจ๋‘ ๊ฐ™์€ ๋„๋ฉ”์ธ ๋‚ด์— XSS์ทจ์•ฝ์ ์ด ์žˆ๋‹ค๋ฉด CSRF ๊ณต๊ฒฉ์— ์ทจ์•ฝ ํ•ด์งˆ ์ˆ˜ ์žˆ๋‹ค.์ถœ์ฒ˜  : https://dlsdn73.tistory.com/634

 

 

 

์ด๋ ‡๊ฒŒ XSS์™€ CSRF ๊ณต๊ฒฉ์„ ์•Œ์•„๋ณด์•˜๋Š”๋ฐ์š”

์ดํ•ด๊ฐ€ ์ข€ ๋˜์…จ๋‚˜์š”!?

ํ˜น์‹œ ๋ถ€์กฑํ•œ ์ ์ด์žˆ๊ฑฐ๋‚˜ ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š” ๋ถ€๋ถ„์€ ์–ธ์ œ๋“ ์ง€ ๋ง์”€ํ•ด์ฃผ์„ธ์š”! 

๋‹ค๋“ค ์—ด๊ณต ํ•˜์„ธ์š”!~

๋ฐ˜์‘ํ˜•
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.