728x90
문제 페이지는 아래와 같이 볼 수 있다.
ping 부분의 페이지 또한, 이전 문제와 유사한 모습임을 확인할 수 있다.
문제에서 제공해준 소스 파일을 통해 어떤 명령어를 입력해야 플래그 값을 얻을 수 있을지 확인해보자.
ping 부분에 대한 소스 코드를 살펴보니,
명령어를 'ping -c 3 "{host}"'의 형태로 보내고 있음을 확인할 수 있다.
따라서, 이 부분을 활용하여
flag.py 파일을 확인하기 위해 위와 같이 작성해보았으나, 요청한 형식과 일치시키라는 문구가 나왔다.
소스 코드를 확인해보니 필터링 해주는 패턴이 있음을 확인할 수 있었고
필터링해주고 있는 부분을 지우고 다시 시도해보았다.
command injection 메타 문자를 사용해서 flag.py의 내용을 확인할 수 있도록 작성하니
위 이미지와 같이 플래그 값이 출력되는 것을 볼 수 있었다.
728x90
'CTF' 카테고리의 다른 글
[Dreamhack] Command Injection Advanced write-up (0) | 2023.11.22 |
---|---|
[Webhacking.kr] old-44번 write-up (0) | 2023.11.22 |
[Dreamhack] command-injection-chatgpt write-up (1) | 2023.11.21 |
[Dreamhack] csrf-2 write-up (0) | 2023.11.15 |
[Dreamhack] csrf-1 write-up (0) | 2023.11.15 |