보안 공부
[Dreamhack] command-injection-1 본문
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 |