문제 화면입니다.
문제의 소스 코드입니다.
폼 태그 안에 있는 nickname, comment, captcha를 모두 값을 입력해야 하며
특히 captcha는 옆에 나온 값을 그대로 입력해줘야 전송할 수 있습니다.
모두 입력해주고 전송해주니 시간 초과 메시지가 뜹니다.
손으로 작성하는것은 느리므로 파이썬 코드로 작성해줍니다.
그리고 개발자 도구를 확인해보니 쿠키 탭에 st 라는 값이 설정되어 있습니다.
아마 set time의 줄임말인 것 같습니다.
php에 time() 함수가 있는데 1970.01.01 00:00:00부터 지금까지 지나온 초를 정수형태로 리턴해주는 함수입니다.
아마 이 함수를 사용해서 설정한 것 같습니다.
새로고침을 해보면 1씩 값이 증가합니다.
파이썬으로 코드를 작성하고 st를 미래의 시간으로 변조해서 그 타이밍에 맞춰 요청을 하면 풀릴 것 입니다.
우선 post의 파라미터로 사용되는 각 input의 name을 찾습니다.
이후 파이썬으로 코드를 짜줍니다.
시간의 오차 범위를 검사하고 있는 것 같습니다.
미래의 시간으로 설정한 뒤 너무 빨리 실행하면
이렇게 No Chear이라고 뜹니다.
타이밍 맞게 실행해주면
이렇게 문제가 풀립니다~
'write-up(web) > webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] Challenge old-39 write-up (0) | 2022.08.13 |
---|---|
[Webhacking.kr] Challenge old-05 write-up (0) | 2022.08.13 |
[Webhacking.kr] Challenge old-23 write-up (0) | 2022.08.12 |
[Webhacking.kr] Challenge old-58 write-up (0) | 2022.08.12 |
[Webhacking.kr] Challenge RPG1 write-up (0) | 2022.08.11 |