Iriton's log

[Webhacking.kr] old-20 write-up 본문

WebHacking/WarGame

[Webhacking.kr] old-20 write-up

Iriton 2023. 3. 30. 10:19

첫 화면이다. nickname, comment, captcha가 있다.
captcha 옆에는 정체불명의 문자열이 있다.
잘 모르겠으니 소스코드를 살펴 보자.
 
 

ck() 함수를 보면 조건문이 여러개 있다.
조건문을 분석해 보면 id, cmt, capcha의 value가 공백이라면 focus 함수가 실행되고 리턴된다.
focus 함수가 뭔지는 몰라도, 공백을 입력하면 안 되는 거 같다.
captcha와 captcha_의 value가 달라도 focus 함수가 실행된다.

즉, nickname과 comment에는 공백이 아닌 값을 입력하고 captcha에는 captcha_.value와 동일한 값을 입력해야 한다.
 
 

해당 코드를 보면 captcha 라는 box에 입력한 값은 captcha이고
정체불명의 문자열이라 했던 것은 captcha_였다.

즉, 그 소스코드를 통해 나타나는 captcha_.value를 입력하면 된다.
 
 
이때 유의할 점이 세 가지가 있다.
- captcha_.value는 페이지에 뜨는 버튼 속 문자열이 아니다.
- 또, 그 값은 새로고침할 때마다 바뀐다.
 

- 게다가 시간 제한이 걸려 있다.
 
 
새로고침 후 2초 안에 정확한 값을 입력하고 submit 하려면
개발자 모드의 Console 창을 활용해야 한다.
 
 
 
콘솔창에 입력할 코드는 페이지 소스 코드에서 확인한 조건문을 조금 응용하면 된다.
* ==과 =을 구분할 것.

더보기
lv5frm.id.value="123"
lv5frm.cmt.value="123"
lv5frm.captcha.value=lv5frm.captcha_.value
lv5frm.submit()

 

미리 코드를 붙여두고 새로고침하자마자 엔터만 누르면 해결된다.

Comments