42번 문제를 열어보면 다음과 같은 화면을 볼 수 있다.
test.txt와 test.zip이 존재하는데, test.txt는 정상적으로 다운로드 되지만 test.zip의 경우 클릭하면 “Access Denied”가 출력되며 다운로드할 수 없다.
이 때, test.txt를 보면
“?down= “이후의 문자열이 base64로 인코딩 된 것으로 추정된다.
실제로 dGVzdC50eHQ= 을 디코딩하면 아래와 같이 test.txt가 나오는 것을 볼 수 있다.
따라서 test.zip을 base64로 인코딩하여
?down=[encoded "test.zip"]
과 같은 형태로 입력하면 다운받을 수 있을 것으로 추정된다.
test.zip을 인코딩하면 아래와 같다.
이렇게 입력하면 test.zip을 얻을 수 있다.
하지만 test.zip을 unzip하기 위해서는 패스워드가 필요하다.
이를 위해 kali에 기본적으로 내장되어 있는 fcrackzip을 이용하여 패스워드를 알아낼 수 있다.
위에서 index.php의 주석을 보면 패스워드가 모두 숫자로 이루어져있다는 힌트를 얻을 수 있다.
따라서 –c 옵션에 1을 지정하고 (aA1!: 중에서 숫자를 의미하는 1 입력)
-l 옵션을 이용하여 우선 길이를 10자로 제한해 준다.
그 뒤 –u 옵션을 주면 위와 같이 패스워드를 얻을 수 있다.
이렇게 얻은 패스워드로 unzip을 수행한 뒤,
readme.txt를 읽으면
http://webhacking.kr/challenge/web/web-20/good.html
을 얻을 수 있다.
위 페이지에 접속하면 플래그를 얻을 수 있다.
'Wargame > webhacking.kr' 카테고리의 다른 글
webhacking.kr 61번 (0) | 2019.01.29 |
---|---|
webhacking.kr 59번 (0) | 2019.01.29 |
webhacking.kr 20번 (0) | 2019.01.29 |
webhacking.kr 1번 (0) | 2019.01.29 |
webhacking.kr 23번 (0) | 2019.01.29 |
댓글