본문 바로가기
해킹/DVWA

DVWA 실습 14. JavaScript (Medium)

by yenua 2022. 5. 29.
반응형
Objective
Simply submit the phrase "success" to win the level. Obviously, it isn't quite that easy, each level implements different protection mechanisms, the JavaScript included in the pages has to be analysed and then manipulated to bypass the protections.

자바스크립트를 이해해서 결과가 success가 되도록 해보자.

 

토큰을 생성하는 자바스크립트 코드에 대한 패킷을 잡아서 분석해보면,

function do_something(e){
	for(var t="",n=e.length-1;n>=0;n--)
    		t+=e[n];
       		return t
}

setTimeout(function(){do_elsesomething("XX")},300);

function do_elsesomething(e){
	document.getElementById("token").value=do_something(e+document.getElementById("phrase").value+"XX")
}

do_somthing 함수는 인자로 받은 문자열을 역순으로 재배치 하는 함수이다.

do_elsesomething 함수는 인자로 받은 문자열과 입력한 구문, XX을 합친 후, 이를 do_somthing을 하여 token으로 저장하는 것이다.

그런데 do_elsesomething 함수에 XX를 넣으므로 XX+입력한값+XX 한 결과를 역순으로 바꾼 것이 토큰이 되게 된다.

 

실제 생성된 토큰을 보면 앞에서 분석한 내용이 맞다는 것을 알 수 있다.

 

패킷을 아래처럼 변조시켜서 보내보면,

성공!

반응형