webhacing.kr 20(old)
webhacing.kr 20번 문제는 captcha와 관련된 문제로 보여집니다.
webhacing.kr 20번 문제에 접속하면 이러한 화면이 나타납니다.
nickname,comment,captch라는 값 3개를 입력하고
submit, reset 버튼이 나타나 있습니다.
소스코드를 한번 살펴봅시다
form태그 안에 nickname, comment,captcha값을 입력할수 있는 input-type:text 태그와
클릭시에 post방식으로 서버에 입력값들은 전송하는 input-type:button태그 안에
onclick=ck()
즉, 클릭시에 ck()함수가 실행된다고 나타나져 있습니다.
ck()함수를 살펴 봅시다.
ck()함수를 살펴보니
nickname값 comment값, captcah값이 공란일 경우에 if문이 true로 실행되어 retrun된다는 점이 나타나 있고
lv5frm.captcha.value값은 lv5frm.captcha_.value값과 같지 않을 때 return된다고 나타나져 있습니다.
즉 모든 input-type:text값에는 공란이 들어가서는 안되며
captach 값에는 특별한 무언가의 값이 들어가야 하는 것으로 보여집니다.
개발자도구를 이용하여 lv5frm.captcha_.value를 입력해보니 captach텍스트 박스 옆에있던 문자열임을 알 수 있습니다.
즉 captcha값에는 옆에 나타난 문자열을 입력해야 하는것으로 보여집니다.
한 번 입력해보겠습니다.
이렇게 입력을 하고 Submit을 눌러보니
라는 실패의 알림창이 나타납니다.
사이트를 다시 살펴보니
20번 문제 상단에 시간제한 2초라고 나타나 있다.
2초내에 물리적으 이 모든 값을 입력하는 것은 불가능 하기 때문에
개발자도구 콘솔을 이용하여 문제를 해결해보아야 겠다.
이런 자바스크립트 코드를 개발자 도구에 작성해논뒤
새로고침후 바로 엔터를 눌러 스크립트 코드를 입력하여 주면
(참고로 줄 바꿈은 shift+enter를 누르면 줄바꿈이 가능하다)
참고로 captcha가 무엇이냐 하면
Completely Automated Public Turing test to tell Computers and Humans Apart / CAPTure(d) + CHAracter
컴퓨터와 사람을 구분짓기 위한 완전 자동 튜링 테스트.
웹사이트에서 사람이 접근하려고 하는 것인지 봇이 접근하는 것인지 판단하기 위하여 사용되는 테스트다.
라고 한다
로그인을 하다보면 이러한 체크박스를 많이 보았을 것이다
사람과 봇을 구분하기 위한 시스템이라고 한다
요즘에는 웹 뿐만 아니라 게임에서도 자주 볼 수 있다
(ex:메이플스토리 거짓말 탐지기)
webhacing.kr 20(old)성공~!
'웹해킹 > Webhacking.kr' 카테고리의 다른 글
Webhacking.kr 18번(old) 풀이 (0) | 2020.04.15 |
---|---|
Webhacking.kr 19번(old) 풀이 (0) | 2020.04.15 |
Webhacking.kr 17번(old) 풀이 (0) | 2020.03.18 |
Webhacking.kr 16번(old) 풀이 (0) | 2020.03.18 |
Webhacking.kr 15번(old) 풀이 (0) | 2020.03.18 |