728x90
이번 포스트에서는 DVWA의 Command Injection 문제를 실습해보겠다.
## 공격 정의
- 악의적인 공격자가 애플리케이션 또는 웹사이트의 입력란을 통해 실행되는 명령어를 조작하여 시스템을 해킹하는 공격 방식 중 하나
- 웹 애플리케이션에서 입력란을 통해 입력된 데이터는 서버 측에서 프로그램을 실행할 때 사용
- 악의적인 사용자가 검색어란에 "; rm -rf /"와 같은 명령어를 입력하면, 서버는 해당 명령어를 실행하게 되어 시스템이 완전히 삭제되는 등의 치명적인 결과를 초래할 수 있음
## 공격 다이어그램
- 악의적인 사용자는 웹사이트에서 입력란에 “; rm -rf /”와 같은 명령어를 입력
- 웹사이트는 입력된 명령어를 충분히 검증하지 않고, 그대로 명령어를 실행
- 서버는 해당 명령어를 실행하여 시스템이 완전히 삭제되는 등의 치명적인 결과를 발생
## 실습
DVWA의 Command Injection 항목을 선택하면 아래와 같은 이미지가 보인다.
127.0.0.1라는 IP 주소를 입력하여 제출하면 다음과 같이 ping 반환값을 보여준다.
소스코드를 확인해보면 다음과 같이 shell_exe() 함수가 사용된 것을 확인할 수 있다.
";" 특수기호를 통해 다음의 임의의 명령어를 추가해보겠다. 여기서는 "cat /etc/passwd" 명령어를 통해 시스템의 사용자 정보를 확인해보겠다.
사용자 정보가 성공적으로 출력된 것을 확인할 수 있다.
'Wargame > DVWA' 카테고리의 다른 글
DVWA (SQL Injection) (0) | 2023.03.15 |
---|---|
DVWA (Insecure CAPTCHA) (0) | 2023.03.14 |
DVWA (File Upload) (0) | 2023.03.13 |
DVWA (File Inclusion) (0) | 2023.03.12 |
DVWA (Brute Force) (0) | 2023.03.10 |