[써니나타스] WEB Level 2번 문제 Write-up
문제 2번의 메인 화면이다.
ID와 PW를 적은 후 Join을 누르면 Authkey 값을 추출하는 것으로 추정된다.
ID와 PW에 아무 값이나 입력했을 때에는 작동하지 않는다.
페이지의 소스를 보아 코드를 자세히 알아봐야겠다.
페이지소스를 보니 <script>문으로 코딩된 부분과 Hint 부분이 있었다.
Hint의 부분에서
Join / id = pw 라는 문구가 있었고 이 코드를 통해 아이디와 비밀번호는 같다고 추측하였다.
다시 Level 2의 메인으로 돌아와
ID와 PW부분에 같은 값을 넣은 후 Join을 눌러보았지만
팝업으로 'You can’t join! Try again' 라는 문구가 나왔다.
이 방법은 아닌 것 같아 <script>로 싸여있는 코드를 분석해봤다.
if 구문은 아이디와 패스워드가 같은 값일 시
다음 팝업을 뜨게 하는 코드인 것 같아 대수롭지 않게 넘어갔고
else 구문을 유심히 보았다.
Hint에서는 id=pw 였지만 <script>에선 id와pw가 다를 시 문제가 풀린다 적혀있다.
이 경우 우회해서 문제를 풀어야한다고 생각하였고
크롬 자체 기능인 Console 기능을 이용해보기로 했다.
F12를 누른 후 Console로 이동하여

<script>에서 else 구문에 있던
document.web02.submit(); 를 Console에 입력 후 엔터를 눌러보았다.
이상태로 엔터를 누르게 된다면 undefined 라는 문구와 함께 실패하게 된다.
Hint 부분에서 ID=PW 라는 문구를 기억하고
ID와PW에 같은 값을 입력 후 Console에 document.web02.submit();를 입력한다면

Authkey(Flag)의 값이 나오게 된다.

써니나타스 메인페이지로 돌아와 AUTH탭 에서(Flag) 값을 입력한다면
문제가 해결된다.