-
command-injection-1개인공부/드림핵 2024. 12. 8. 17:06
특정 호스트에 ping을 보내는 서비스에서 Command Injection을 이용하여 플래그를 획득하는 문제이다.
[문제 풀이]
1. 문제 풀이 서버 접속
사진에서 알 수 있듯 특정 호스트에 Ping을 때릴 수 있는 서비스이다.
localhost에 대해 ping을 시도해본다.
명령이 정상적으로 수행되어 결과값을 리턴한 것을 확인 할 수 있다.
ls 명령어 수행을 위해 ls 입력 시 요청한 형식과 일치시키라는 메세지가 나오며 명령이 실행되지 않는 것을 확인 가능하다.
2. 문제 파일
문제 파일 다운로드 후 분석을 진행한다.
여기서 확인 할 수 있는것은 'ping -c 3 "{host}"' 부분에서 host값에 입력 주소값이 들어가며 수행된다는 것을 알 수 있다.
동작 구조를 확인하였으니 Command Injection 공격을 시도해본다.
3. Exploit
우선 요청한 형식만 입력 가능하도록 제한한 것을 우회하기 위해 BurpSuite를 이용하였다.
구문을 분석하면 아래와 같다.
host = 127.0.0.1 // ping 127.0.0.1 수행
" // 큰 따옴표를 이용해 위의 문제 파일에서 확인 한 코드의 첫번째 큰 따옴표를 닫아준다.
cat "flag.py // cat 명령어를 이용해 flag.py를 읽어온다.
여기서 flag 앞의 "가 들어가는 이유는 코드에서 두번째 "와 매칭시키기 위함이다.
FLAG를 획득하였다.
'개인공부 > 드림핵' 카테고리의 다른 글
Carve Party (0) 2024.12.09 web-misconf-1 (0) 2024.12.08 file-download-1 (0) 2024.12.08 pathtraversal (0) 2024.11.22 cookie (0) 2024.11.21