웹해킹

[써니나타스] WEB Level 2번 문제 Write-up

namgi 2022. 8. 18. 00:56
반응형

문제 2번의 메인 화면이다.

IDPW를 적은 후 Join을 누르면 Authkey 값을 추출하는 것으로 추정된다.

 

IDPW에 아무 값이나 입력했을 때에는 작동하지 않는다.

페이지의 소스를 보아 코드를 자세히 알아봐야겠다.

 

 

페이지소스를 보니 <script>문으로 코딩된 부분과 Hint 부분이 있었다.

Hint의 부분에서

Join / id = pw 라는 문구가 있었고 이 코드를 통해 아이디와 비밀번호는 같다고 추측하였다.

 

 

다시 Level 2의 메인으로 돌아와

IDPW부분에 같은 값을 넣은 후 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에 같은 값을 입력 후  Consoledocument.web02.submit();를 입력한다면

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

 

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

문제가 해결된다.

 

 

더보기

Authkey = Bypass javascript

반응형