๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
the others/Network

Cross-Site Scripting ( XSS ) ๊ณต๊ฒฉ

by ciocio 2021. 11. 24.

๐Ÿ“Œ  XSS ?

 

Cross-site Scripting ์˜ ์•ฝ์ž์ด๋ฉฐ, ์›น ์ƒ์—์„œ ์ผ์–ด๋‚˜๋Š” ๊ธฐ์ดˆ์ ์ธ ๊ณต๊ฒฉ ๋ฐฉ๋ฒ•์˜ ์ผ์ข….

์•…์˜์ ์ธ ์‚ฌ์šฉ์ž๊ฐ€ ๊ณต๊ฒฉํ•˜๋ ค๋Š” ์‚ฌ์ดํŠธ์— script ๋ฅผ ๋„ฃ๋Š” ๊ธฐ๋ฒ•์„ ๋งํ•œ๋‹ค. ( script์˜ ํ˜•ํƒœ๋Š” ๋‹ค์–‘ํ•˜๋‹ค )

๋ณดํ†ต ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•œ ์‚ฌ์šฉ์ž์˜ ์ฟ ํ‚ค๋‚˜ ์„ธ์…˜, ํ† ํฐ ๋“ฑ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ํƒˆ์ทจํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

 

โ—พ  Stored XSS ( Persistent XSS )

 

์ €์žฅํ˜• XSS ๊ณต๊ฒฉ ( ์ง€์†ํ˜• XSS ๊ณต๊ฒฉ )

์ผ์‹œ์ ์œผ๋กœ ๊ณต๊ฒฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ง€์†์ ์œผ๋กœ ํ”ผํ•ด๋ฅผ ์ž…ํžˆ๋Š” XSS ๊ณต๊ฒฉ์„ ๋งํ•œ๋‹ค.

ํ•ด์ปค๊ฐ€ ์‚ฝ์ž…ํ•œ script ๊ฐ€ DB์— ์ €์žฅ๋˜์–ด, ์•…์„ฑ ์ฝ”๋“œ๊ฐ€ ์‚ฝ์ž…๋œ ์›น ํŽ˜์ด์ง€๋ฅผ ๋ณธ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ์ง€์†์ ์œผ๋กœ ๊ณต๊ฒฉ์ด ๊ฐ€ํ•ด์ง„๋‹ค.

์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฐ’์ด DB์— ์ €์žฅ๋˜๊ณ , ์ €์žฅ๋œ ๊ทธ๋Œ€๋กœ ํด๋ผ์ด์–ธํŠธ ๋‹จ์— ๋ณด์—ฌ์งˆ ๋•Œ ์ด ๊ณต๊ฒฉ์ด ์„ฑ๊ณตํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์ปค์ง„๋‹ค.

 

 

โ—พ  Reflected XSS

 

๋ฐ˜์‚ฌํ˜• XSS ๊ณต๊ฒฉ

์ผ์‹œ์ ์œผ๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ”ผํ•ด๋ฅผ ์ž…ํžˆ๋Š” XSS ๊ณต๊ฒฉ์„ ๋งํ•œ๋‹ค.

๋ณดํ†ต ์‚ฌ์šฉ์ž์—๊ฒŒ ์ž…๋ ฅ๋ฐ›์€ ๊ฐ’์„ ๋ฐ”ํƒ•์œผ๋กœ ์„œ๋ฒ„์—์„œ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ณณ์—์„œ ๋ฐœ์ƒํ•œ๋‹ค.

ํ•ด์ปค๋Š” script ๊ฐ€ ํฌํ•จ๋œ URL ์„ ์‚ฌ์šฉ์ž๊ฐ€ ๋ˆ„๋ฅด๋„๋ก ์œ ๋„ํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ํƒˆ์ทจํ•ด๊ฐ„๋‹ค. 

 

 

๐Ÿ“Œ  XSS ๋Œ€์‘๋ฐฉ์•ˆ ?

 

โœ”  ๋ฐ์ดํ„ฐ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์˜ ๋ชจ๋“  ๊ณผ์ •์—์„œ ์•…์„ฑ script ๋ฅผ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์น˜๋ฅผ ์„ค์น˜ํ•œ๋‹ค.

     ex.  XSS Cheat Sheet ๋ฅผ ๋งŒ๋“ค์–ด ๋ชจ์˜ ํ•ดํ‚นํ•ด๋ณด๋Š” ๊ฒƒ.

     ex. iframe ๋‚ด์—์„œ ์ œํ•œํ•˜๋Š” ๋ฐฉ๋ฒ• ์‚ฌ์šฉํ•ด๋ณผ ๊ฒƒ.

โœ”  XSS ๊ณต๊ฒฉ์„ ๋ง‰๊ธฐ์œ„ํ•ด ์„ค๊ณ„๋œ ๊ณต๊ฐœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•œ๋‹ค.

     ex. OWASP Antisamy / NAVER Lucy XSS Filter / ESAPI

 

 

 

 

 

 

 

 

์ฐธ๊ณ 

https://namu.wiki/w/XSS

https://noirstar.tistory.com/266

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

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€