-
DVWA - Command Injection ( Medium, High )모의해킹/Groot - 스터디 2023. 7. 26. 10:39
DVWA - Command Injection ( Medium, High ) 입니다
개요
이 포스팅에서는 DVWA(Damn Vulnerable Web Application) - Command Injection, Medium/High 단계 실습을 진행하면서 공부했던 내용에 대한 내용을 정리해 보았고, 모두 본인이 소유한 가상머신에서 실습이 이루어졌습니다
실습환경
M1 MacBook Air
16G RAM
UTM - 가상머신
Kali Linux 2023.1 - Apple Silicon (ARM64)목차
1. 취약점 설명 및 분석 - 소스코드 분석, Command Injection
2. Command Injection 실습
3. 대응방안
취약점 설명 및 분석
소스코드 분석
Command Injection - Medium.php Command Injection - High.php Medium.php 와 High.php 모두 ip 주소를 입력받고 BlackList 필터링을 한 이후 입력 ip 주소에 대한 결과를 화면에 보여준다
Command Injection
DVWA - Command Injection ( Medium, High )의 소스코드에서 BlackList 필터링의 내용을 보면 Command Injection을 수월하게 할 수 있다
왜냐하면 BlackList의 내용들은 Command Injection이 가능하도록 하는 요소들을 사전에 차단한 것들로 이루어져 있기 때문이다
Command Injection 실습
Command Injection 적용하기
Command Injection - Medium.php Medium.php 에서는 && 과 ;를 필터링하고 있다
그렇다면 학습하는 입장에서 High.php 의 필터링 내용을 보고 제일 처음에 있는 & 를 이용하여 작성한 뒤 전송하면 위와 같이 Command injection의 결과가 화면에 보인다
Command Injection - Medium.php & 이외에 다른 내용을 입력해도 정상적으로 Command Injection의 결과가 화면에 나타난다
Command Injection - High.php High.php 에서는 필터링의 내용이 증가하였지만 위와 같이 ip 주소 다음에 붙여서 입력 후 전송하면 Commnad Injection의 결과가 화면에 보인다
대응방안
BlackList 기반 필터링의 경우 사용자가 의도하지 않게 사용하려고 하였지만 사용하지 못하게 되는 경우가 발생할 수 있다
그렇기 때문에 WhiteList 기반 필터링을 해야 한다
만약 BlackList 기반의 필터링을 해야 한다면 ip 주소 이후에 붙은 값들에 대해서 경우의 수를 모두 따져 비교 후 이에 해당하지 않는다면 전송하도록 하는 방법이 있지만 이 경우 ls, ../, whoami, 등등 너무 많은 경우가 있기에 비효율적이다
728x90'모의해킹 > Groot - 스터디' 카테고리의 다른 글
DVWA - CSRF ( Medium, High ) (0) 2023.07.26 DVWA - Brute Force ( High ) (0) 2023.06.27 DVWA - SQL Injection ( Low ) (0) 2023.06.27 DVWA - Brute Force ( Medium ) (0) 2023.06.21 DVWA - CSRF ( Low ) (0) 2023.06.04