webhacking.kr 20번 문제풀이 Write Up 입니다.
2초의 시간 제한이 있다고 적혀 있고, 아래 칸에는 적는 게 있습니다.
추측을 하자면 nickname과 comment, 랜덤으로 바뀌는 captcha까지 입력을 하고 Submit를 2초 내로 하라는 것 같습니다.
2초 내로 못 하면 느리다고 제출을 받아주지 않습니다.
신컨이 가능하다면 그냥도 풀 수 있겠지만 저는 그럴 능력이 안 되기 때문에 다른 방법을 생각해봅니다.
javascript를 활용해 보겠습니다.
document.querySelector()를 이용하면 특정 영역 선택이 가능하고, value 메소드를 이용하면 내용을 채울 수 있습니다.
먼저 nickname을 채워보겠습니다.
nickname 텍스트상자 name이 'id'로 정의가 되어 있습니다.
이 요소를 선택하려면 document.querySelector('input[name=id]') 이렇게 입력하면 됩니다.
document.querySelector('input[name=id]').value = 'spareone' 이렇게 입력하면, nickname 칸에 spareone이 들어가게 됩니다.
이렇게 입력됩니다.
comment도 똑같이 하면 되고, captcha도 요소 확인 후 captcha 값을 가져와 입력 칸에 들어가도록 script를 작성하면 됩니다.
Submit를 누르면 ck() 함수가 실행됩니다.
즉, 해당 항목을 다 채운 뒤 ck()를 호출하면 됩니다.
document.querySelector('input[name=id]').value = 'spareone';
document.querySelector('input[name=cmt]').value = 'spare number one';
document.querySelector('input[name=captcha]').value = document.querySelector('input[name=captcha_]').value;
ck();
최종적으로 완성한 script입니다.
문제 페이지를 열고, 2초 이내로 console을 열어 해당 script를 실행하면 됩니다.
무지성 신컨보다는 한결 편해졌습니다.
2초 이내로 실행이 완료되면 문제가 정답처리 됩니다.
'CTF > webhacking.kr' 카테고리의 다른 글
[CTF] webhacking.kr 24번 Write-Up (0) | 2022.10.18 |
---|---|
[CTF] webhacking.kr 23번 Write-Up (0) | 2022.10.18 |
[CTF] webhacking.kr 19번 Write-Up (0) | 2022.10.15 |
[CTF] webhacking.kr 18번 Write-Up (0) | 2022.10.14 |
[CTF] webhacking.kr 17번 Write-Up (0) | 2022.10.14 |
댓글