1번 문제를.. 생각보다 오래 풀었다.

2번 문제는 ID랑 PW를 입력하는 로그인 창만 보여주고.. 알아서 로그인을 하면 되는 거 같다.

개발자 도구를 열어서 소스코드를 확인했는데, Hint가 적혀있었다. Hint는 Join..이고 id=pw란다.

그리고 스크립트에는 이런 내용이 적혀있음. id==pw,, 즉 id랑 pw가 같으면 join이 안된다. id에 아무 값, pw에 아무 값이나 넣어놓고 join 하면 그냥 submit 되면서 새로고침 되고 끝.......
그니까 id랑 pw가 다른 값을 입력하면 검증해서 알아서 join을 시켜주는 원리라는건 알겠는데 그 이후를 어떻게 해야 하는지 모르겠다...
하,,
며칠 뒤에 다시 풀었는데 더 모르겠다. 어쩔 수 없이 해설을 확인했다.
정답은 개발자 도구에 있는 Console을 활용하는 것이다.
힌트에 나와있는거처럼 ID=PW인 값을 넣어주고 (나는 각각 a를 입력했다.) Console에서 document.web02.submit() 함수를 사용했다. 힌트에선 id=pw이면 문제가 풀리는데, 정작 같게 하면 오류가 생겼고, id와 pw를 다르게 했을 때 제출은 되지만 아무것도 안 뜨기 때문에 두 가지 방법을 섞어서 사용해주었다.

그럼 다음과 같이 Authkey가 나올 것이다.

어떤 분은 Burp Suite로 활용해서 푸셨길래 나도 오랜만에 Burp Suite을 써보았다!

페이지 응답 패킷에서 if ( id== pw) 부분에 있던 코드들을 다 지우고 document.web02.submit();을 추가해줬다. 그리고 forward를 누르면 Authkey가 정상적으로 출력되는 것을 확인할 수 있다!
결국 이 문제는 자바스크립트를 우회하는 방법을 익힐 수 있게 만들어진 문제인가보다.
'CTF, 워게임 문제 풀이 > Suninatas' 카테고리의 다른 글
| [Web] 써니나타스 Challenges 6번 문제 (0) | 2022.06.01 |
|---|---|
| [Web] 써니나타스 Challenges 5번 문제 (0) | 2022.05.31 |
| [Web] 써니나타스 Challenges 4번 문제 (0) | 2022.05.30 |
| [Web] 써니나타스 Challenges 3번 문제 (0) | 2022.05.29 |
| [Web] 써니나타스 Challenges 1번 문제 (0) | 2022.05.22 |
댓글