Web Hacking/Natas

[Natas] Level 7 > Level 8

SolB 2022. 5. 14. 19:02

비밀번호를 입력하는 창이 있고, 소스코드를 볼 수 있는 버튼이 있다.

 

잘못된 비밀번호를 입력하면 위 사진과 같이 Wrong secret이라는 문구가 뜬다.

 

View sourcecode 버튼을 누르면 아래와 같이 소스코드가 나온다.

$encodedSecret = "3d3d516343746d4d6d6c315669563362";

위 값을 통해 secret값을 구해보자

 

bin2hex
: 2진수 -> 16진수
strrev
: 문자열 뒤집는 함수
base64_encode($secret)
: binary 데이터를 txt로 바꾸는 인코딩

 

encodeSecret함수에서 bin2hex(strrev(base64_encode($secret))을 반환해주었다.

이는 base64_encode -> strrev -> bin2hex함수를 순서대로 적용해주었다.

따라서 hex2bin -> strrev -> base64_decode을 적용해주어야 코드를 찾아낼 수 있다.

 

https://www.w3schools.com/php/phptryit.asp?filename=tryphp_compiler 

위 링크의 컴파일러를 이용해주었다.

 

<!DOCTYPE html>
<html>
<body>

<?php
$encodedSecret = "3d3d516343746d4d6d6c315669563362";
$code=base64_decode(strrev(hex2bin($encodedSecret)));
echo $code;
?>

</body>
</html>

 

code값이 oubWYf2kBq로 나왔기 때문에 이를 Input secret에 입력해주었다.

그랬더니 natas9의 비밀번호를 얻을 수 있었다.

 

W0mMhUcRRnG8dcghE4qvk3JA9lGt8nDl