command-injection-chatgpt
특정 Host에 ping 패킷을 보내는 서비스입니다. Command Injection을 통해 플래그를 획득하세요. 플래그는 flag.py에 있습니다. chatGPT와 함께 풀어보세요! Reference Webhacking Roadmap
dreamhack.io

문제


메인 화면에서 Ping을 클릭하면 오른쪽 화면으로 넘어가고 입력한 Host에 Ping을 보낼 수 있다.
소스코드

POST로 받았을 때 호스트 Input 박스에 입력한 값을 ping -c 3에 붙여서 subprocess로 실행시켜준다.
리눅스(CLI)에서 명령어 두 개를 동시에 실행하는 방법은 다음과 같다.
1. ;(세미콜론) : 앞의 명령어 성공 여부에 관계없이 다음 명령어 실행
2. && : 앞의 명령어가 성공 시 다음 명령어 실행
3. & : 앞의 명령어를 백그라운드로 돌리고 뒤의 명령어를 동시에 실행
exploit
첫 번째 ;(세미콜론)을 사용해 flag.py의 위치를 찾아볼 것이다.


현재 디렉터리에서 flag.py의 경로로 예상되는 디렉터리를 찾으려고 ls를 사용했으나 현재 디렉터리에 flag.py가 있었다.
cat ./flag.py 명령어로 현재 디렉터리의 flag.py 내용을 확인했다.


'WriteUp > 드림핵' 카테고리의 다른 글
| file-download-1 (0) | 2024.05.21 |
|---|---|
| error based sql injection (0) | 2024.05.13 |
| what-is-my-ip (0) | 2024.04.08 |
| simple_sqli (0) | 2024.04.01 |
| baby-union (0) | 2024.03.26 |