Web Hacking/Dreamhack 풀이

command-injection-chatgpt

박연준 2023. 6. 25. 17:35

command-injection-chatgpt

문제 정보

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

풀이

먼저 접속하면 이런 화면이 뜬다.

이 페이지는 특정 Host에 ping 패킷을 보내는 서비스를 제공한다. 제공된 웹 페이지에서 입력한 Host로 ping을 보내는 기능이 있다.

 입력란에 127.0.0.1을 입력했다.

 핑 결과가 화면에 출력되었다.

20번 줄을 보면 해당 코드는 변수 **host**에 지정된 IP 주소나 도메인 이름으로 3회의 ICMP 패킷을 보내는 ping 명령어를 실행하는 명령어 문자열을 생성한다.

 ping 명령어는 특정 호스트에 대한 응답 시간을 측정하는 명령어이다. 이 때, 호스트 주소는 사용자가 입력한 값으로 받아들이는데, 만약 입력값에 검증이 없이 그대로 사용된다면, 악의적인 사용자는 호스트 주소에 명령어를 포함시켜서 서버에서 실행될 수 있다. 이를 통해 Command Injection 공격이 가능하다.  따라서 ping 입력란에 8.8.8.8; ls 값을 입력했다.

 출력된 화면을 보면 pychache 밑에 flag.py라고 찾고있는 파일이 보인다.

 flag.py에서 값을 보기 위해서 cat명령어를 사용했다. 따라서 ping 입력란에 다시 한 번 8.8.8.8; cat flag.py 값을 넣어주면 flag 값 확인이 가능하다.

 

'Web Hacking > Dreamhack 풀이' 카테고리의 다른 글

file-download-1  (0) 2023.06.25
image-storage  (0) 2023.06.25
command-injection-1  (0) 2023.06.25
simple_sqli  (0) 2023.06.25
simple_sqli_chatgpt  (0) 2023.06.25