목표 : base64
두 개의 파일이 있고 test.txt 는 다운이 가능하지만 flag.docx는 불가능하다.
다운받은 텍스트 파일은 정말 의미 없는 값을 가지고 있다.
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>
PHP
복사
?down=dGVzdC50eHQ=>download
PHP
복사
이게 다운으로 유도하는 링크다.
빨간 부분으로 표시한 부분은 base64로 디코딩하기 좋아 보인다.
반대로 flag.docx를 Base64인코딩해서 넣어주자
Base64 : flag.docx → ZmxhZy5kb2N4
https://webhacking.kr/challenge/web-20?down=ZmxhZy5kb2N4
PHP
복사
플래그를 획득했다.