[OverTheWire] Natas Level 6-8

ABC·2023년 7월 18일
0

Natas

목록 보기
2/3

Level 6

풀이

View Source Code를 클릭해보자

<?로 시작해서 ?>로 끝나는 PHP 코드가 보이는데 PHP 코드는 서버 사이드 코드로 일반적인 소스코드로는 보이지 않는다. 따로 힌트를 주기 위해 소스코드에 올려놓은 것으로 보인다.

includes/secret.incinclude를 통해 참조하여 $POST방식으로 $secret의 값과 secret의 값을 비교하여 같다면 암호를 알려주는 것으로 생각된다.
secret의 값은 includes/secret.inc에 정보가 있을 것이다.


includes/secret.inc 디렉토리에 들어가보니 secret의 값을 알게 되었고 그 값을 첫번째 사진의 Input secret: 블록에 제출해보자.


7레벨로 가는 암호를 얻을 수 있었다.


Level 7

점점 문제가 싸가지 없어진다

풀이

Link 2개만 있으니까 일단 열어봐야겠다.

Home링크를 탔을 때, this is the front page라는 문구가 나온다.


About 링크를 타면, this is the about page라는 문구가 나온다.
주소를 보면 /index.php?page= 뒤에 페이지 이름이 나오는데 Home과 About은

소스코드를 열어보면 힌트가 있었다. /etc/natas_webpass/natas8 안에 8레벨의 암호가 있는 것일 것 같다.

PHP에 디렉토리를 연결해서 다음 레벨의 암호를 얻을 수 있었다.


Level 8

풀이


View Sourcecode링크를 타면 위 화면이 나온다.
6레벨과 유사하게 PHP 코드가 힌트일 것이다.
$encodeSecret의 값이 보이고
return bin2hex(strrev(base64_encode($secret)));을 연산하는 함수가 있다.
POST방식을 통해 넘겨받은 secret값이 encodeSecret함수에 넘겨진다.
넘겨진 값을 위 3d3d어쩌고 하는 값과 비교하여 해당 값이 같다면, 9레벨의 암호가 나올 것 같다.

PHP 컴파일 환경에서 작업을 해야한다.
위 값을 decode한 후 bin2hex를 hex2bin으로 변환해 역연산하면 oubWYf2kBq라는 값을 얻을 수 있었다.
이 값을 Input란에 넣으면

다음 레벨의 값을 얻을 수 있었다.

profile
자유

1개의 댓글

comment-user-thumbnail
2023년 7월 18일

정말 좋은 글 감사합니다!

답글 달기