Wargame/Webhacking.kr
<Webhacking.kr> old-42
지우친구 웅이
2021. 12. 30. 12:00
test.txt를 다운로드하면
딱히 도움이 될만한 것은 없는 듯하다.
flag.docx를 다운로드하면
접근할 수 없다.
페이지 소스 코드를 살펴보면
<html>
<head>
<title>Challenge 42</title>
</head>
<body>
<table border=1 align=center width=300>
<tr><td width=50>no</td><td>subject</td><td>file</td></tr>
<tr><td>2</td><td>test</td><td>test.txt [<a href=?down=dGVzdC50eHQ=>download</a>]</tr>
<tr><td>1</td><td>read me</td><td>flag.docx [<a href=javascript:alert("Access%20Denied")>download</a>]</td></tr>
</table>
</body>
</html>
flag.docx의 href를 살펴보면, javascr1pt:alert("Access%20Denied")로 되어있다.
href는 hypertext reference의 약자로, 이동할 페이지의 링크를 적어둔다.
즉, 링크를 수정해서 flag.docx의 경로를 적으면 될 것 같다.
test.txt의 href를 살펴보면 "="으로 끝나는 것으로 보아 base64로 인코딩되어있음을 짐작할 수 있다.
base64로 인코딩 시, 패딩문자로 "="을 사용한다.
"dGVzdC50eHQ="를 base64 디코딩해보면 "test.txt"가 된다.
따라서, 파일 경로가 "?down={파일명 base64 인코딩}"임을 알 수 있다.
flag.docx를 base64 Encoding 해보면, "ZmxhZy5kb2N4"가 된다.
flag.docx의 href에 "?down=ZmxhZy5kb2N4"를 입력하면 flag.docx를 다운로드 받을 수 있다.