SECURITY/Webhacking

Webhacking.kr:: old-54๋ฒˆ

\b\t 2021. 1. 25. 14:32

๋ฌธ์ œ ํŽ˜์ด์ง€์— ๋“ค์–ด๊ฐ€๋ฉด

์ด๋ ‡๊ฒŒ Password is [] ๋กœ ๋‚ด์šฉ์ด ๋ฐ”๋€๋‹ค.

์กฐ๊ธˆ ์žˆ์œผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์—์„œ ๋ฉˆ์ถ˜๋‹ค(๋๋‚œ๋‹ค).

 

์ด์ œ script ๋ฅผ ๋ณด์ž.

 

 

index ๋ฅผ ๋ฐ”๊ฟ”๊ฐ€๋ฉฐ responseText ๋ฅผ 20ms ๋งˆ๋‹ค ์ถœ๋ ฅํ•˜๋Š” ๊ตฌ๋ฌธ์ด๋‹ค.

 

if(x.responseText) setTimeout("answer("+i+")", 20);

seTimeout ์€ ์ฒซ๋ฒˆ์งธ ์ธ์ž๋ฅผ 20ms ์˜ ๋”œ๋ ˆ์ด๋ฅผ ์ค€ ํ›„ ์‹คํ–‰์‹œํ‚ค๋Š” ํ•จ์ˆ˜์ด๋‹ค.

์ฆ‰, responseText ๊ฐ€ ๋‚จ์•„์žˆ์„ ๊ฒฝ์šฐ 20ms ๋งˆ๋‹ค ์ถœ๋ ฅํ•ด์ฃผ๊ณ , 

if(x.responseText=="") aview.innerHTML="?";

responseText ๊ฐ€ "" ์ฆ‰, ๋‹ค ์ถœ๋ ฅํ–ˆ๋‹ค๋ฉด ? ์„ ์ถœ๋ ฅํ•˜๊ณ  ๋๋‚˜๋Š” ๊ฒƒ์ด๋‹ค.

 

 

๊ฒฐ๊ตญ ์ด ์ฝ”๋“œ๋ฅผ ์ข€ ๋ณ€ํ˜•์‹œ์ผœ์„œ console ์—์„œ ์ž‘์„ฑํ•ด๋ณด๋ฉด ๋œ๋‹ค.

 

 

์—ฌ๊ธฐ๊นŒ์ง€๊ฐ€ ํ’€์ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด๊ณ , (ํžŒํŠธ๋งŒ ์–ป์œผ๋ ค๊ณ  ํ–ˆ์œผ๋ฉด ์—ฌ๊ธฐ๊นŒ์ง€๋งŒ ๋ณด๊ธธ ๋ฐ”๋ž€๋‹ค.)

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

aview.innverHTML=x.responseText; 

๋กœ ํ™”๋ฉด์— ๋„์›Œ์ ธ ์žˆ๋Š” ๊ฒƒ์ด ์Œ“์ด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ดˆ๊ธฐํ™”๋˜๋Š” ๊ฒƒ์ด๋‹ˆ, ์ด๊ฑธ

aview.innverHTML+=x.responseText; 

๋กœ ๋ฐ”๊ฟ”์ฃผ๊ณ , 

๋งˆ์ง€๋ง‰์— ? ๋กœ ๋ฐ”๊ฟ”๋ฒ„๋ฆฌ๋Š” if(x.responseText=="") aview.innerHTML="?"; ์ด๊ฑด ์—†์• ์ฃผ๋ฉด ๋œ๋‹ค.

 

๋”ฐ๋ผ์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•จ์ˆ˜๋ฅผ, ๋งํ•˜์ž๋ฉด ์žฌ์ •์˜ํ•œ ํ•จ์ˆ˜ answer ์„ console ์— ์ž…๋ ฅํ•ด์ฃผ๊ณ ,

answer(0)

์„ console ์— ์ž…๋ ฅํ•˜๊ณ  ์—”ํ„ฐ์น˜๋ฉด ํ™”๋ฉด์— FLAG ๊ฐ€ 20ms ๋งˆ๋‹ค ํ•˜๋‚˜์”ฉ ์ฐํžŒ๋‹ค.

(answer(0) ์œผ๋กœ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ์žฌ๊ท€์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค)

 

๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™๊ณ , Webhacking.kr ํŽ˜์ด์ง€์— Auth ์— ์ž…๋ ฅํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

(์ฐธ๊ณ ๋กœ, Auth ์— ์ž…๋ ฅํ•  ๋• FLAG ๊นŒ์ง€ ๊ฐ™์ด ๊ฐ€์ ธ๊ฐ€์•ผ ํ•œ๋‹ค~)