들어가보면 기사들을 볼 수 있는 사이트가 나오는데 각 기사를 클릭해보면 파라미터로 파일명을 던지고 있는것을 볼 수 있었다.
해당 파라미터에서 ...../// 이런식으로 필터링 우회해주면 경로이동이 가능한 취약점이 터졌는데 문제는 확장자로 무조건 .txt가 붙는다는 제약이 있었다. %00도 안먹히고 php 5.3에서 터지는 4096 byte 이슈도 안먹히는 것 같았다. 처음엔 include나 require일지도 모른다고 생각하고 RFI를 시도해봤는데 명령어실행이 안되고 단순히 파일내용 뿌려주는걸로보아 file_get_contents를 쓰고 있는것 같았다.
내가모르는 트릭이 있나하고 한참 고민하다가 일단 접어두고 다른 벡터를 찾아보기 시작했다.
그러다가 이미지를 가져올 때 id파라미터에서 파일다운로드가 가능한 취약점이 터지는걸 확인할 수 있었다. 파일명 뒤에 ico , png , php를 붙여보고 파일이 존재하면 다운받는 형식이었다.
바로 index.php를 다운로드해서 소스를 본 후 helpers.php를 확인했더니 flag관련 파일명이 있어서 뒤에 .txt붙여서 내용을 보니 플래그가 있었다.
'CTF > Writeup' 카테고리의 다른 글
Pragyan CTF 2018 animal-attack(200pts) (0) | 2018.03.04 |
---|---|
Pragyan CTF 2018 Authenticate your way to admin (150pts) (0) | 2018.03.04 |
Truststealth CTF 2018 Linkedin Service (TRUST) 500 (0) | 2018.03.02 |
Truststealth CTF 2018 Read Flag Revenge (TRUST) 500 (0) | 2018.03.02 |
Truststealth 2018 archive.is (TRUST) 500 (0) | 2018.03.02 |