-
[2019 DIMI CTF Quals][Web Hacking] 5sharedCTF write_up/기타 CTF 2019. 7. 15. 00:20
일단 첨부파일을 확인해 보면 다음과 같습니다.
upload.php 파일을 확인해 보면 다음과 같은 소스 코드가 있습니다.
15번째 줄을 확인해 보면 explode 함수를 이용해서 1번 인덱스에 있는 문자열이 jpg, gif, png 인지 확인해서 아니면 못올립니다.
그리고 21번째 줄에서는 똑같이 .으로 슬라이싱을 한다음 array 형식으로 저장하고 각각의 문자열에 php가 들어있으면 필터링에 걸립니다.
그래서 다음과 같은 형태로 파일 명을 정해야 합니다.
[파일명].jpg.pht
.pht 확장자란?
.php 확장자가 필터링에 막혀있을 때 우회 할수 있는 확장자로 php 소스코드를 실행할 수 있다.
저는 간단한 웹쉘 코드를 작성했습니다.
해당 파일을 한번 올려보겠습니다.
해당 파일 주소를 따라 들어가 보면 다음과 같이 나옵니다.
http://ctf.dimigo.hs.kr:8961/~uploads/3949797f1989e063a53670f6ad8cd997/solve.jpg.pht
여기서 부터 푸는 방법이 여러가지가 있는데 저는 웹쉘을 이용해서 문제 풀이를 해보겠습니다.
solve.jpg.pht?cmd=ls ../../을 해보면 다음과 같은 화면이 나옵니다.
flag 로 생각되는 파일이 있습니다. 한번 확인해 보겠습니다.
Flag : DIMI{expl0d3_pht_g3t_sh3lL_:p}
'CTF write_up > 기타 CTF' 카테고리의 다른 글
[2019 DIMI CTF Quals][WebHacking] simple xss (0) 2019.07.15 [2019 DIMI CTF Quals][WebHacking] simple sqli (0) 2019.07.15 [2019 DIMI CTF Quals][Misc] Mic Check (0) 2019.07.15 [35C3 CTF][Forensic] epic_mount (0) 2019.05.28 [35C3 CTF][Forensic] rare_mount (0) 2019.05.28