tmxklab
[Web] command-injection-1 본문
1. 문제확인
특정 Host에 ping을 보내는 서비스이며 Command Injection을 통해 플래그를 획득할 수 있다.
2. 접근방법
subprocess를 이용하여 /bin/sh -c ping -c 3 "{host}"명령을 수행할 수 있으며 host에는 내가 입력한 값이 들어간다. 또한, try문에서 에러가 발생하면 exception처리가 된다.
Host입력 란에 쉘 명령어를 쓰려고 하자 필터링이 된다.
개발자 도구[F12]에서 html을 확인한 결과 input에 pattern을 통해 필터링이 되는 것 같다.
3. 문제풀이
html은 수정할 수 있으므로 필터링되는 부분을 제거해주고 /bin/sh -c ping -c 3 "host" 여기서 host부분에 쉘 명령어를 입력해주자(참고로, 에러가 발생하면 안되니깐 더블쿼터에 유의하자)
먼저, ls명령어를 통해 파일를 확인한다.
입력 값 : 0.0.0.0";ls -l;touch "A
확인 결과 flag.py가 보인다. 이제 확인해보자
입력 값 : 0.0.0.0";cat flag.py;touch "A
'War Game > dreamhack' 카테고리의 다른 글
[rev] rev-basic-2 (0) | 2021.06.10 |
---|---|
[Web] proxy-1 (0) | 2021.06.08 |
[Web] pathtraversal (0) | 2021.06.07 |
[Web] cookie (0) | 2021.06.07 |
Comments