화면에 아이디와 패스워드를 입력하는 창이 뜬다. 아무거나 입력하면 아무 일도 발생하지 않는다.
개발자 모드(F12)로 소스코드를 확인해 보았다. 스크립트 부분에 아래와 같은 chk_form() 함수가 있었다.
<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 -->
<!-- M@de by 2theT0P -->
id와 pw가 같으면 풀리는 문제인 것 같다. 하지만 id와 pw 폼에 같은 값을 입력한 후 제출하면 경고창이 뜨고 폼이 초기화된다. 하지만 else 부분을 보면 document.web02.submit();이라고 쓰여 있다. 콘솔로 이것을 직접 입력해주면 id와 pw에 같은 값이 들어있어도 우회할 수 있다.
id와 pw에 같은 값을 넣어준 후 콘솔에 document.web02.submit()을 입력하면 Authkey를 획득할 수 있다.
'해킹 및 보안 > Suninatas' 카테고리의 다른 글
SuNiNaTaS(써니나타스) Challenge 8 / Web (0) | 2022.09.08 |
---|---|
Suninatas(써니나타스) challenge 5 / Web (0) | 2022.08.22 |
Suninatas(써니나타스) challenge4 / Web (0) | 2022.08.22 |
Suninatas(써니나타스) challenge3 / Web (0) | 2022.08.22 |
Suninatas(써니나타스) challenge 1/Web (0) | 2022.08.22 |