Level 6 -> Level 7
들어가면 다음의 화면이 뜬다.
home을 누르면 다음과 같이 뜬다
about을 누르면 다음과 같이 뜬다.
소스코드를 보자
hint가 있다.
hint에는 etc/natas_webpass/natas8에 비번이 있다고 한다.
home화면에서 뒤에 붙여넣었다.
그랬더니 다음과 같이 뜬다.
home/etc/natas_webpass/natas8라는 파일이 없다고 한다.
url을 살펴보면 page=home/etc/natas_webpass/natas8라고 되어있다.
그렇다면 page=/etc/natas_webpass/natas8로 바꾸면 원하는 페이지가 나올것이라고 유추할 수 있다.
풀렸다.
비번은 DBfUBfqQG69KvJvJ1iAbMoIpwSNQ9bWe
Level 7->Level 8
들어가면 다음의 화면이 뜬다.
Level 5->Level 6과 문제가 비슷하다.
일단 소스코드를 확인해보자
<head>부분은 볼필요가 없고 <body>부분을 살펴보자
encodeSecret($_POST['secret']) 값이 encodedSecret 값과 같으면 비밀번호를 얻을 수 있따.
base64_encode는 64진법으로 인코딩을 한다.
encodeSecret 함수에서 strrev함수는 문자열을 거꾸로 뒤집는 함수이다.
bin2hex는 바이너리 파일을 16진법으로 바꾼다.
3d3d516343746d4d6d6c315669563362에 대해서 이과정을 거꾸로 하면 우리고 폼에 입력해야 할 값을 얻을 수 있다.
먼저 hex2bin을 하고 그리고 strrev함수를 하고 그리고 base64_decode를 해준다.
ideone.com에서 코드를 작성했다.
$secret이 나왔다.
이걸 폼에 넣어보자
풀렸다.
비번은 W0mMhUcRRnG8dcghE4qvk3JA9lGt8nDl