Write-up

[SuNiNaTas] level 2

ch4rli3kop 2019. 4. 13. 21:44
반응형

Suninatas level 2

keyword : bypass javascript

<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 -->

요부분이 중요한 건 알겠는데, 어떻게 하지.. 몸부림치다가 Java script는 client side script라서 걍 client 딴에서만 동작하게 된다는 것을 알게 되었다. 그럼 결국 조작할 수 있단 거겟찌

Hint를 보아하니 id와 passwd를 같게 한 뒤, document.web02.submit() 동작을 수행하면 플래그를 얻을 수 있는 것 같다.

원래 burp suite 쓰다가 fiddler는 브라우저만 대상으로 하지 않는다는 정보를 어느 톡방에서 들어서 fiddler로 갈아타게 됬는데, 사용법도 익힐 겸 성심성의껏 작성해본다.

먼저 브포를 걸어 request 전에 값을 수정할 수 있도록 한다.


브포가 제대로 걸렸으면 대충 아무거나 입력하는데, document.web02.submit()가 실행되야 하므로 반드시 id != pw 한 값으로 입력한다.



이후 Join을 클릭하면, document.web02.submit()가 실행되면서 Fiddler에서 브포가 걸린 모습을 확인할 수 있을 것이다. 왼쪽 상단의 Go를 하던가 오른쪽 response란의 Run to Completion을 누르면 끝.

style.css가 없어서 오류가 뜨기는 하는데, 굳이 중요한 것은 아니니 넘겨도 된다.

[+] 다른 풀이 방법으로 개발자 도구를 사용하는 방법도 있다. 해당 경우 id와 pw를 같은 값으로 입력한 후, console에서 document.web02.submit()을 실행시키면 된다.


반응형

'Write-up' 카테고리의 다른 글

[SuNiNaTas] level 4  (0) 2019.04.13
[SuNiNaTas] level 3  (0) 2019.04.13
[SuNiNaTas] level 1  (0) 2019.04.13
[Lord Of BufferOverFlow] 1 ~ 20 (CLEAR)  (0) 2019.03.21
[bandit] bandit27 ~ bandit33 (CLEAR)  (0) 2019.02.28