old 42번 문제 페이지에 들어가면 아래와 같은 테이블이 보인다.
test.txt와 flag.docx 파일을 다운로드할 수 있는 링크가 걸려있다.
test.txt 파일을 다운해보면 영어와 숫자 조합의 글자가 3개 써져 있다.
flag.docx 파일을 다운하려고 링크를 누르니 Access Denied 팝업이 떴다.
소스코드를 확인해봐야 할 것 같다.
밑줄 친 코드를 보면
1. text.txt 쪽 링크를 누르면 파일이 다운됨 → "?down=[파일 인코딩값]" 으로 요청을 보내 다운로드하는 방식
2. flag.docx 파일 다운로드 링크를 누르면 alert함수로 Access Denied 팝업이 뜨게 함
→ 2번 코드도 alert 함수를 지우고 1번처럼 바꿔보자
바꾸려면 일단 txt 다운 링크의 "?down=dGVzdC50eHQ=" 인코딩 값이 어떻게 이루어진 건지 알아봐야 한다.
문자 뒤에 =가 붙어있는 걸로 봐서는 base64로 인코딩한 것 같다.
base64 디코더로 해당 값을 넣어보니 text.txt라는 문자가 나왔다.
파일명을 그대로 base64로 인코딩한 것이니 flag.docx도 base64로 인코딩하면 될 것 같다.
Base64 Encode and Decode - Online
Encode to Base64 format or decode from it with various advanced options. Our site has an easy to use online tool to convert your data.
www.base64encode.org
flag.docx를 인코딩하면 ZmxhZy5kb2N4 라는 값이 나온다. 이걸 alert 함수가 있던 부분에 넣고 request 한다.
<a href="?down=ZmxhZy5kb2N4">download</a>
코드를 수정한 후에 flag.docx 파일의 다운로드 링크를 누르면 정상적으로 파일이 다운로드된다.
파일을 열어보면 FLAG 값을 확인할 수 있다.
webhacking.kr 페이지에서 AUTH에 들어가 키값을 입력하면 문제가 해결된다.
'Wargame > Web' 카테고리의 다른 글
[Webhacking.kr] 웹 해킹 old-11번 문제 풀이 (0) | 2023.11.07 |
---|---|
[Webhacking.kr] 웹 해킹 old-05번 문제 풀이 (0) | 2023.11.07 |
[Webhacking.kr] 웹 해킹 old-14번 문제 풀이 (0) | 2023.10.06 |
[Webhacking.kr] 웹 해킹 old-54번 문제 풀이 (0) | 2023.09.26 |
[Webhacking.kr] 웹 해킹 old-23번 문제 풀이 (0) | 2023.09.26 |