Wargame/webhacking2017. 6. 18. 22:16

webhacking.kr 54번 문제를 보면 다음과 같다.

처음 화면이 위와 같고, 시간이 지나면 password를 한글자씩 보여준다.

노가다 식으로 하나하나 받아 적어도 되지만, 일단 페이지 소스를 보도록하자.

소스를 보다보면 answer() 함수가 정의되어 있는 것을 볼 수 있다.

function answer(i)

{

x.open('GET','?m='+i,false);

x.send(null);

aview.innerHTML=x.responseText;

i++;

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

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

}

aview.innerHTML 부분에 저장된 값이 출력이 되며, x.responseText에 한글자가 저장되기 때문에 한글자씩 출력이 된다.

즉, aview.innerHTML=x.responseText에서 "="를 "+="로 변경해주면 한글자씩 뒤에 붙을 것이다.

마지막 if문을 보면 x.responseText가 null이면 aview.innerHTML에 "?"를 저장한다.

즉, 마지막에 ?를 출력하게 된다.

이를 없애주면 될 것 같다.

burp suite를 이용해 response를 변조하도록 하자.

그러면 위와 같이 password가 한글자씩 뒤에 붙으면서 출력이 된다.

이 값을 Auth에 입력하면 문제가 풀린다.

'Wargame > webhacking' 카테고리의 다른 글

[webhacking.kr] 21번 문제  (0) 2017.06.18
[webhacking.kr] 58번 문제  (0) 2017.06.18
[webhacking.kr] 53번 문제  (0) 2017.06.18
[webhacking.kr] 49번 문제  (0) 2017.06.18
[webhacking.kr] 46번 문제  (0) 2017.06.18
Posted by Imp3rio