본문 바로가기
정보보안

드림핵 command-injection-1 44

by puy0 2026. 7. 7.

시도한 문제에 박혀있는 문제 수를 줄이기 위해 살펴보던중 새싹문제를 찾았다

쉽게 풀 수 있었다

 

플래그가 얼탱없어서 웃기다

 

코드를 보면

핑을 보내는 서비스에서 입력을 host로 받아 바로 변수cmd에 바인딩 한다 (8.8.8.8 같은 호스트 입력들)

 

ping -c 3 "8.8.8.8" 을 만드는데 여기다 && || ; 같은걸 섞으면 주입이 가능 할것 같았다

 

 

프론트에 인풋 페턴을 검사하고 있어서 툴을 사용했다

POST파라미터만 수정 할 수 있으면 아무 도구나 상관 없다

프론트를 거치지 않고 요청해도 되고 8.8.8.8로 요청 후 패킷을 수정해 요청해도 된다

나는 후자를 사용함

 

8.8.8.8"; echo FLAG" 를 사용했는데 그대로 FLAG가 문자열로 출력 되었다

FLAG가 import 되어 있다고 해서 쉘에서 돌아가는건 아니니깐..

일단 되는것을 확인 했다 import 키워드로 제공된 FLAG 를 응용하고 싶었는데

논리상 용용한다고 해도 쉘 > app.py > flag.py 로 탐색하는것과 그냥 쉘 > flag.py 조회가 간단하니 저 변수를 사용할 일이 없다

설명에서

라고 해서 바로 flag.py를 반환시켜 플레그를 얻었다

(그런데 플레그가 웃기다) 가짜 플레그인가 해서 입력해보니 통과.

host=8.8.8.8"; cat flag.py"

댓글