Level 8 문제이다.
로그인 후, 문제를 보면 secret 을 입력하라는 form 이 존재한다.
소스 코드를 확인해보면 encodeSecret 함수에 $secret 값을 입력하였을 때의 결과를 알 수 있다.
즉, $encodedSecret = "3d3d516343746d4d6d6c315669563362" 이 encodeSecret 함수의 return 값이다.
그렇다면 💡bin2hex(strrev(base64_encode($secret))) 함수를 거꾸로 뒤집어서 계산해주면 $secret 값을 획득할 수 있게 된다.
먼저, bin2hex 함수는 ASCII 문자의 문자열을 16진수로 변환한다.
그렇다면 반대로, hex2bin 함수는 16진수를 ASCII 문자의 문자열로 변환한다.
hex2bin 함수를 사용하여 ASCII 문자열로 변환한 결과 "==QcCtmMml1ViV3b" 값을 얻을 수 있다.
다음으로, strrev 함수는 문자열을 거꾸로 뒤집는 함수이다.
그렇다면 변환된 결과 값을 다시 거꾸로 뒤집어 주면 된다.
"b3ViV1lmMmtCcQ==" 값을 얻을 수 있다.
마지막으로, base64_encode 함수를 이용해 base64로 인코딩하였으므로 디코딩해주면 된다.
"oubWYf2kBq" 값을 얻게 된다.
secret 값을 입력하고 제출을 누르면
다음 레벨의 패스워드를 획득할 수 있다. 👏
'Penetration Testing > Natas' 카테고리의 다른 글
[Natas] Level10 write-up (0) | 2023.09.11 |
---|---|
[Natas] Level9 write-up (0) | 2023.09.11 |
[Natas] Level7 write-up (0) | 2023.09.11 |
[Natas] Level6 write-up (0) | 2023.09.11 |
[Natas] Level5 write-up (0) | 2023.09.11 |