[H3X0R CTF 2016]

Web_63

php_encrypt



대회 중반에 공개된 63점짜리 Web 문제입니다. 파일을 다운 받은 후 압축을 풀면 php_encrpyt.php라는 파일이 나타납니다. 이 파일을 열어보면 아래 그림과 같은 소스가 나타납니다.



대회 이름에 맞게 변수명이 약간 복잡하게 되어 있습니다. 직접 계산해서 돌려도 되지만, 편하게 php 서버를 돌려 값을 찾아내도록 하겠습니다.

먼저, 알아 낼 수 있는 것들을 알아내보죠.


$_b는 ord

$_는 ?

두 번째 $__는 $_GET['?']입니다.

그렇다면 11번째 라인의 $__[0]은 $_GET['?'][0]으로 볼 수 있겠네요. 1, 2, 3도 마찬가지로 생각 할 수 있습니다.



해당 php소스를 돌려보면 위와 같은 결과 값이 나옵니다. 소스대로, 일정 조건을 만족하지 않으면 ?와 !를 출력하게 됩니다.

이 조건을 만족하는 4자리의 값이 flag일 것 같네요.



해당하는 값을 echo로 바로 때려줍시다.



4번째 자리는 'z'로 이미 명시되어 있기 때문에 출력하지 않았습니다.

이를 이어보면 f9!z가 되겠네요.



flag is f9!z



+ Recent posts