challenges 02
문제
페이지 소스의 일부를 가져왔다.
<script>
function chk_form(){
var id = document.web02.id.value ;
var pw = document.web02.pw.value ;
if ( id == pw )
{
alert("You can't join! Try again");
document.web02.id.focus();
document.web02.id.value = "";
document.web02.pw.value = "";
}
else
{
document.web02.submit();
}
}
</script>
<!-- Hint : Join / id = pw -->
Hint를 보면 id와 pw가 같으면 문제를 해결할 수 있는 것 같다.
하지만 join 버튼을 눌러 chk_form()을 실행하면 다시 id, pw가 초기화되어 원점으로 돌아온다.
자바스크립트 관련해서 검색해보니 XSS 기법, 프록시 툴을 이용해서 값을 변조시키는 방법 등이 있었다.
이 문제에는 프록시 툴이 효과적일 거라 판단하여 burp suite를 이용해서 문제를 풀기로 했다.
우선 프록시 설정을 해야 한다.
크롬에서 설정에 들어가 프록시 설정 열기를 클릭한다.
연결 > LAN 설정을 클릭한다.
프록시 서버를 클릭하고 다음과 같이 설정한다
기존에 설치했던 burp suite를 실행하고 id와 pw를 아무렇게나 입력하고 join 버튼을 클릭한다.
burp suite에서 파라미터로 전달되는 값들을 확인할 수 있다.
더블클릭하여 pw에 해당하는 값을 수정한다.
forward를 누르면 진행되고 다시 웹페이지로 돌아가면 Authkey가 나온 것을 확인할 수 있다.
auth 창에 입력하면 문제 해결
'wargame > suninatas' 카테고리의 다른 글
[suninatas]challenges 05 (0) | 2019.10.03 |
---|---|
[suninatas]challenges 04 (0) | 2019.10.01 |
[suninatas]challenges 03 (0) | 2019.09.18 |
[suninatas]challenges 01 (0) | 2019.09.04 |