글쓴시점에 아직 대회가 진행중이라 대회가 끝나고나면 해당글은 공개로 돌리도록 하겠다.


들어가보면 다음과 같은 소스를 볼 수 있다.



파라미터와 파라미터값을 통해 php함수를 실행시킬 수 있는 구조인데 flag파일을 읽기 위해 쓸수있는 대부분의 함수와 관련된 문자열이 필터링되고 있다.


잘보니까 include나 require 이 없길래 이놈들 활용해서 플래그출력하려했더니 서버에러가 자꾸 떴다. 필터링은 안당하는데 일단 사용은 못하는것 같아서 접어두고 다른함수를 좀 생각해보다 show_source로 읽어오면 되겠다 생각했는데 _가 필터링당하고 있었다.


전에 ctf write up들 보다가 php에 _관련된 트릭이 있었다고 본 기억이 나서 show$브루트포싱지점$source 요런식으로 _위치에다가 이것저것 값을 다 때려박고 브루트포싱했더니 _대신 공백이 들어가면 우회가 되는걸 볼 수 있었다. 어떤 이유로 우회가 되는지는 잘 모르고 일단 풀긴했는데 좀 제대로 알아봐야겠다는 생각이 들었다.


 

나중에 _트릭공부하면서 다시 시도하려다 알게됬는데 문제가 깨진것 같다. preg_match가 제대로 동작을 안해서 필터링함수가 모두 사용가능한 상황이었다..

블로그 이미지

JeonYoungSin

메모 기록용 공간

,