점점 올라갈수록 난이도도 올라가며 풀리는 시간이 오래 걸리는 것 같다...

바로 문제풀이 들어가도록 하겠습니다.

 

1. 문제

 

 

문제 접근 시 볼 수 있는 페이지이다.

스크롤을 내리면 YES 버튼이 생성된다.

 

2. 문제풀이

 

YES 버튼을 눌러주면 

 

실패 안내를 통해 느리다는 문구가 뜨게 된다

 

페이지 접근 시 YES 버튼을 빠르게 눌러야겠다는 생각이 들었으며 그림과 YES 사이에 공백이 많으므로 공백 부분을 없애 YES 버튼을 위로 올린 후 처리하는 방법을 생각해보았다.

 

요청 패킷을 잡아 공백을 만드는 <br> 태그를 삭제해 주었다.

 

첫 번째 문제에서 YES 값이 그림 바로 아래 있는 이유는 문제를 한 번에 보여주기 위해 YES 버튼을 이미지 편집을 한 것이다.

 

버튼을 빠르게 누르기 위해 코드 수정을 통해 버튼을 상위로 올려보았다.

 

 

하지만 아무리 빠르게 클릭하여도 실패라는 문구가 뜨게 된다.

클릭하는 속도가 허락하는 속도를 따라가지 못하는 것 같다..

 

요청 패킷을 분석해보도록 해야겠다.

 

 

Function noEvent 함수를 선언하여

event.keyCode 값이 116 or 9 일 경우 NO!라는 구문을 띄우게 된다

그 외에 Ctrl 키 와 이벤트 코드 키 78 or 82 일 경우 실패하게 된다.

이후 form 속성을 보면 post 메소드를 이용하여 폼을 전송할 /web07_1.asp를 지정하여 준다.

 

 

여기서 event.keycode 란 

 

JavaScript를 통해 사용자의 키 입력을 감지하여 함수 처리할 수 있다.

event.keycode 는 ASCII코드에 기반이 된다.

 

116 = F5 , 9 = Tab, 78 = n , 82 = r을 나타내게 된다.

 

페이지에 접근하자마자 YES버튼의 값이 빠르게 페이지에 적용이 되어야 하겠다고 생각하였고,

이를 위해 개발자 모드 콘솔을 통해 페이지에 값을 적용할 수 있도록 해야겠다고 생각을 하였다.

 

 

Ctrl을 입력 시 입력값이 먹히지 않게 되어있기에 메뉴 > 도구 더보기 > 개발자 도구를 통해 개발자 모드에 접근할 수 있다.

 

위에 소스에서 분석했던 코드를 토대로 다음 페이지로 넘기기 위한 form의 이름인 frm을 이용하여 YES버튼을 누르면 submit이 되기에 frm.submit()을 입력해보았다.

 

실패하는 문구가 떴다....

명령어를 빠르게 다시 전송해 보았다.

 

서든어택으로 다져진 나의 반응 실력으로 몇 번의 시도 끝에 재빠르게 입력이 가능했다.

 

저번에 알게된 Auth메뉴를 통해 키값을 입력해 보았다.

여기서 실패하면 어떡하나 걱정이 많이 들었지만 다행히 나를 축하해 주었다.

갈수록 처음 해보는 공격들도 생겨나는 것 같다....

어렵지만 더욱 열심히 해봐야겠다...

 

 

 

*제 개인적인 문제풀이 방식이었으며, 잘못된 점이 있다면 알려주시면 감사하겠습니다.




'워게임 > suninatas' 카테고리의 다른 글

suninatas/웹/22번 문제풀이  (0) 2021.07.08
suninatas/웹/8번 문제풀이  (0) 2021.06.27
suninatas/웹/6번 문제풀이  (0) 2021.06.14
suninatas/웹/5번 문제풀이  (0) 2021.06.09
suninatas/웹/4번 문제풀이  (0) 2021.05.30
복사했습니다!