<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 -->
소스 코드를 보면 id와 pw가 다를 때 폼이 전송된다.
그런데 주석 처리된 힌트 부분에는 id와 pw가 같다고 되어있다.
id와 pw를 같지만, 다르게 해야 한다는 생각으로
id: admin / pw: 0x61646d696e or char(97, 100, 109, 105, 110)
이렇게 우회를 해봤지만 되지 않아서 프록시 툴을 사용해봤다.
일단 id랑 pw를 같게 하라고 하니 둘 다 admin으로 로그인을 시도할 것이다.
id: admin / pw: admin
그리고 소스코드에서 if 절의 조건을 바꿔준다.
id == pw -> id != pw
이 상태로 로그인 하면 Authkey가 뜬다!
프록시툴로 if 조건절을 바꾸는 방법 뿐만 아니라 id나 pw를 직접 수정해줄 수도 있고
콘솔 창에서 코드 수정도 가능하다.
풀 수 있는 방법이 너무 많긴 하다!
728x90
'Wargame > SuNiNaTaS' 카테고리의 다른 글
SuNiNaTaS 5 (WEB 301pt) (0) | 2020.03.29 |
---|---|
SuNiNaTaS 4 (WEB 122pt) (2) | 2020.03.22 |
SuNiNaTaS 18 (FORENSICS 153pt) (2) | 2020.03.22 |
SuNiNaTaS 3 (WEB 133) (0) | 2020.03.22 |
SuNiNaTaS 1 (WEB 100) (0) | 2020.03.22 |