[Webhacking.kr] old-42
Wargame/webhacking.kr
https://webhacking.kr/challenge/web-20/ test.txt는 잘 다운받아지는데 flag.docx는 Access Denied가 뜬다. nosubjectfile 2testtest.txt [download] 1read meflag.docx [download] 페이지의 소스 코드를 보면 test.txt를 다운받을 때 down 변수에 dGVzdC50eHQ=라는 값을 넣어 전송하는 것을 알 수 있다. 이 값은 파일 이름인 test.txt를 base64 인코딩한 문자열이다. 따라서 flag.docx를 base64 인코딩하여 down 변수에 담아 전송하면 플래그를 획득할 수 있을 것이다. https://webhacking.kr/challenge/web-20/?down=ZmxhZy5kb2N4
[Webhacking.kr] old-19
Wargame/webhacking.kr
https://webhacking.kr/challenge/js-6/ id를 입력하고 제출하면 그 id로 로그인이 되는데, admin으로 로그인을 시도하면 you are not admin이 뜬다. AAAA로 로그인하면 userid라는 쿠키가 생긴다. 이 쿠키의 값을 URL 디코딩한 후 base64 디코딩하면 아래와 같다. 해쉬처럼 보이는 값이 4번 반복된다. AAAA에서 각각의 문자에 해당하는 해쉬 값이 반복된 것으로 추측할 수 있다. 반복되는 값은 A의 MD5 해쉬이다. 즉, userid 쿠키의 값은 id에서 한 글자씩 MD5 해쉬를 씌워서 모두 이어붙이고, base64 인코딩을 한 후, 끝의 =들을 URL 인코딩한 결과이다. admin에 이 작업을 해서 admin에 해당하는 userid 쿠키를 만들어서..
[Webhacking.kr] old-32
Wargame/webhacking.kr
https://webhacking.kr/challenge/code-5/ 순위표가 있고, 사용자를 클릭하면 Hit이 1 증가한다. 이 상태에서 한 번 더 클릭하면 you already voted라고 뜨면서 투표가 되지 않는다. 투표하면 vote_check라는 쿠키가 생기는데, 이 쿠키의 값이 ok이면 이미 투표한 것으로 간주하는 것 같다. 이 쿠키를 삭제하면 계속해서 다시 투표를 할 수 있다. 맨 아래로 내려보면 내가 있는데, 내 Hit을 100 이상으로 만들면 문제가 풀릴 것 같다. import requests url = 'https://webhacking.kr/challenge/code-5/?hit=h0meb0dy' cookies = {'PHPSESSID': '9ckaj0opsv9gi3sg6k8pvgu..
[Webhacking.kr] old-11
Wargame/webhacking.kr
https://webhacking.kr/challenge/code-2/ view-source GET 변수 val의 값이 정규식 패턴 $pat과 일치하면 문제가 풀린다. https://webhacking.kr/challenge/code-2/?val=1aaaaa_58.142.186.55%09p%09a%09s%09s
[Webhacking.kr] old-20
Wargame/webhacking.kr
https://webhacking.kr/challenge/code-4/ time limit이 2 second라고 쓰여있는 걸 보아 2초 안에 빈칸을 채워서 제출해야 하는 것 같다. 한 칸이라도 비어있으면 안 되고, captcha는 당연히 일치해야 하고, 느리게 입력하면 Too Slow라고 뜬다. 문제 사이트에 접속하면 st라는 쿠키가 설정되는데, 이 값은 현재 시각의 유닉스 타임스탬프이다. 처음에 접속할 때 시간을 쿠키가 저장하고, submit을 할 때 서버로 전송되는 이 쿠키 값과 서버의 타임스탬프를 비교하여 2초 이상 차이나는지 검사하는 것으로 추측할 수 있다. 처음에 사이트에 접속해서 st와 captcha의 값을 받아와서, 그대로 다시 전송하면 검사를 통과할 수 있다. import requests ..
h0meb0dy_
'Wargame' 카테고리의 글 목록 (31 Page)