Iriton's log
[Dreamhack/Wargame] Lv.1 command-injection-1 본문
Command Injection
Web application에서 시스템 명령을 사용할 때, ;(세미콜론) 혹은 &(또는 &&)을 사용하여 하나의 command를 injection 하여 두 개의 command가 실행되게 하는 공격이다.
문제 페이지 분석
Home
ping
ping 정보가 출력된다. 여기서 Flag를 출력할 수 있을 거 같다.
코드를 확인해 보자.
코드 분석
6) flag.py에 flag값이 있나 보다.
22) bash쉘 파일로 접근해서 command를 실행시킨다. 리눅스 명령어로 command injection이 필요할 것으로 보인다.
다른 코드는 별로... 쓸모는 없을 거 같아서 pass
ping result 출력을 활용해서 flag.py의 위치를 알아내 볼 수 있을 거 같다.
ls 명령어를 활용하자.
입력값이 cmd로 전달되니 cmd 형식을 잘 보면 무엇을 입력해야 되는지 감이 온다
cmd에 쓰이는 double quotes를 임의로 내가 닫고 열면 command injection 할 수 있다.
... 형식이 뭐길래
소스 코드를 확인해 보자.
36번 줄을 보면 pattern으로 형식을 제한한다.
그냥 지워 버리자.
이제 정상적으로 명령이 먹힌다.
그리고 해당 경로에 flag.py가 있단 것도 확인할 수 있으니 flag.py 내용을 출력하자.
명령어는 cat 활용
'WebHacking > WarGame' 카테고리의 다른 글
[Dreamhack/Wargame] Lv.1 crsf-1 (0) | 2023.04.11 |
---|---|
[Dreamhack/Wargame] Lv.1 image-storage (0) | 2023.04.10 |
[Dreamhack/Wargame] Lv.1 xss-2 (0) | 2023.04.10 |
[Dreamhack/Wargame] Lv.1 xss-1 (0) | 2023.04.10 |
[Dreamhack/Wargame] Lv.1 session-basic (0) | 2023.04.07 |
Comments