-
1팀 이유진 Write-Ups (Suninatas_2)2021/Write-Ups 2022. 1. 25. 17:58
I. 문제 소개
써니나타스 2번
http://suninatas.com/challenge/web02/web02.asp
II. 문제 풀이
뭐부터 해야할지를 모르겠어서 일단 F12로 소스코드를 확인했는데 스크립트와 힌트가 바로 보였다.
힌트에 id와 pw를 같게 하라고 쓰여있어서 같은 값을 넣어보기로 했다.
ID와 PW 칸에 1234를 입력해보았는데 가입할 수 없다는 창이 떴다.
스크립트에 있는 chk_form()을 분석해봐야할 것 같다.
var id = document.web02.id.value ; - 페이지에서 입력받은 id 값을 id라는 변수에 저장한다.
var pw = document.web02.pw.value ; - 페이지에서 입력받은 pw 값을 pw라는 변수에 저장한다.
if ( id == pw ) - id와 pw 값이 같다면
{
alert("You can't join! Try again"); - You can't join! Try again라는 팝업창을 띄우고
document.web02.id.focus(); - id 입력 폼으로 focus를 맞추고
document.web02.id.value = ""; - id 값을 공백으로 초기화 하고
document.web02.pw.value = ""; - pw 값을 공백으로 초기화 한다.
}
else - id와 pw 값이 다르다면
{
document.web02.submit(); - 입력한 값들을 전송한다.
}힌트에서는 id와 pw가 같아야한다고 했는데 스크립트에는 값이 달라야지 해결된다고 해서 약간 모순이 있는 것 같다.
어떻게 해야할 지 모르겠어서 구글에 검색을 해보았더니 우회를 하는 방법으로 해결하면 된다고 한다.
나는 F12를 누르면 뜨는 console 창을 이용했다.
1. ID와 PW 칸에 같은 값 입력
2. 콘솔 창에서 document.web02.submit()을 입력
3. Enter 키
위 방법대로 했더니 Authkey를 구할 수 있었다.
Bypass javascript를 입력하면 문제를 해결할 수 있다!
'2021 > Write-Ups' 카테고리의 다른 글
3팀 이수현 Write-Ups(ctf-d 조수의 차이만큼 하얗습니다!:D) (0) 2022.01.25 1팀 이유진 Write-Ups (Suninatas_5) (0) 2022.01.25 4팀_최민영 Write_ups(with CTF - 우리는 바탕화면 캡쳐본을 얻었다.) (0) 2022.01.25 4팀 임예은_Write-Ups(Suninatas_26) (0) 2022.01.25 1팀 박지혜 Write-Ups (ctf-d 저는 플래그를 이 파일에...) (0) 2022.01.25