tmxklab

[Web] command-injection-1 본문

War Game/dreamhack

[Web] command-injection-1

tmxk4221 2021. 6. 10. 14:34

 

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