보안 공부

[Dreamhack] command-injection-1 본문

기타/워게임

[Dreamhack] command-injection-1

zoome22 2023. 11. 15. 16:44

https://dreamhack.io/wargame/challenges/44

 

command-injection-1

특정 Host에 ping 패킷을 보내는 서비스입니다. Command Injection을 통해 플래그를 획득하세요. 플래그는 flag.py에 있습니다. Reference Introduction of Webhacking

dreamhack.io

새싹 - command-injection-1 - web


ip 주소를 넣으면 대신 ping을 날려주는 웹사이트다.

 

당연히 필터링이 걸려있음...

 

 필터링이 걸려있는 위치가 중요하다.

F12 관리자 도구로 접근해 Sources 영역에서 코드를 보았을 때, 해당 웹사이트에서 패턴을 매칭시키는 건 html 폼태그에서 일어났다. 이 경우, 내부적인 동적 코드로 검증하는 게 아니므로 폼을 거칠 때 당시의 값만 제대로 되면 그 이후에 달라진 값도 통과되게 된다. 즉, 폼태그를 통과할 때 검증되어진 값을 프록시로 중간에서 낚아채 수정하면 패턴과 매치되지 않아도 되는 것이다.

 

무료 프록시 툴인 BurpSuite를 사용해서 잡은 결과다.

ip 조건 뒤에 ";"ls로 명령어를 넣어줬을 때, ping이 수행된 뒤 함께 들어온 명령어까지 수행했다.

 

command injection이 유효한 것을 확인했으니 flag.py를 출력하는 command injection 공격을 수행한다!

8.8.8.8";"cat" "flag.py (공백 허용이 안 돼서 같이 묶어주니 됐다)

 

그대로 전송하면 다음과 같이 flag가 나온다.

FLAG = DH{pingpingppppppppping!!}

'기타 > 워게임' 카테고리의 다른 글

[Dreamhack] video_in_video  (0) 2023.11.18
[Dreamhack] Enc-JPG  (0) 2023.11.18
[Dreamhack] rev-basic 2  (89) 2023.11.14
[Dreamhack] devtools-sources  (1) 2023.11.03
[Dreamhack] Snowing!  (0) 2023.11.03