문제에 들어가보면 간단한 파일 업로드 페이지가 나온다.

 

업로드를 해보면 화이트리스트 형태로 이미지파일 확장자 검사와 실제 파일이 이미지파일인지 내용까지 체크를 하고있어 웹쉘을 올리는 식으로는 해결이 안되지만 파일이름에서 커멘드 인젝션이 먹힌다.

 

커멘드 인젝션같은 경우 & ; | %0a `` 요렇게 다 안먹히지만 $() 요게 먹혀서 이걸로 명령어 실행이 가능했다.

 

이제 이걸로 플래그파일만 찾으면 되는데 문제가 두 가지 정도 있었다.

먼저 파일이름에서 / , \가 나오면 가장 마지막 요 문자부터 인식을 해서 경로 이동이 안되는 상황이었고 다음으로 명령어 실행결과가 가장 최상위 한줄만 출력이되서 ls로 현재 디렉토리 파일목록조차 볼 수 없었다.

 

그래서 일단 플래그가 현재 명령어가 실행되는 디렉토리에 있다고 가정하고 cat fl* 이런식으로 쳐봤더니 플래그가 나왔다.

 



'CTF > Writeup' 카테고리의 다른 글

InCTF 2018 WildCat  (0) 2018.10.08
InCTF 2018 S3cur3 Bank  (0) 2018.10.08
D-CTF Quals 2018 secops  (0) 2018.09.26
D-CTF Quals 2018 Get Admin  (0) 2018.09.24
Codegate 2018 CTF RedVelvet  (0) 2018.09.18
블로그 이미지

JeonYoungSin

메모 기록용 공간

,