티스토리 뷰

포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다.

20번 문제이다.

nickname, comment, capcha 텍스트 입력 부분과 10개의 랜덤 한 문자열, submit과 reset 버튼이 있다.

소스코드를 보자.

post형식으로 값을 전달하며, submit버튼 클릭 시 ck() 함수가 실행된다.

id와 cmt. captch의 값이 비어있으면 해당 칸을 포커싱 해주고,

captcha의 value가 lv5frm.captcha_.value랑 다르면 captch에 포커싱을 해준다.

lv5.frm.captcha_. value는 아마 10자리 랜덤 문자열인 것 같다.

일단 빈칸을 채운뒤 값을 넘겨주자.

제출하자.

너무 느리단다.

우리는 처음 부분에서 time limit : 2 second라는 부분에서 힌트를 얻을 수 있다.

쿠키값을 한번 살펴보자.

st에 숫자형 값이 들어가 있다.

하지만 우리는 저 값이 시간에 관련된 값이라 유추할 수 있다.

페이지 리다이렉션을 통해 확실히 시간에 관련된 값이라 알 수 있었고, 매 초마다 1씩 증가되었다.

따라서 우리는 문제를 풀기 위해 빈칸을 채우고, st부분을 페이지 리다이렉션 후 완료까지 시간을 2초 오차 이내로 변조하면 문제를 풀 수 있다.

한번 실행해보자.

페이지 리다이렉션과 동시에 윈도우 스톱워치를 작동하면 정확히 문제를 풀 수 있다.

시작을 했을 때 st값은 1649260050 이었다.

동시에 스톱워치로 시간을 측정하고, 값을 모두 입력했을 때 15초가 지났다.

따라서 st값을 1649260065로 변경하고 바로 submit을 누르면 문제는 해결된다.

문제 해결!

시행착오

1. post방식이라 무조건 burpsuite로 풀어야 하는 줄 알고 처음엔 burpsuite를 통해 해결하려고만 했었다.

   앞으로는 문제를 정확히 분석하여 정확한 문제 해결 방식으로 접근하도록 연습해야겠다. 

 

'SQL injection > webhacking' 카테고리의 다른 글

Webhacking 22번  (0) 2022.04.11
Webhacking 21번  (0) 2022.04.07
Webhacking 19번  (0) 2022.04.06
Webhacking 18번  (0) 2022.04.06
Webhacking 17번  (0) 2022.04.06
댓글