📘 Day 6 (2025.09.30.TUE) - DVWA & Burp Suite 실습
📂 DVWA 설치
#DocumentRoot "C:/xampp/htdocs/CI4/public"
#<Directory "C:/xampp/htdocs/CI4/public">
DocumentRoot "C:/xampp/htdocs"
<Directory "C:/xampp/htdocs">
dvwa-master/config/config_inc.php.dist → config_inc.php 복사 및 수정
$_DVWA['db_user'] = getenv('DB_USER') ?: 'root';
$_DVWA['db_password'] = getenv('DB_PASSWORD') ?: '';
dvwa-master/setup.php 실행 → Create 버튼 클릭
🔐 DVWA Security Levels
DVWA는 보안 실습을 위해 보안 레벨을 조정할 수 있음:
- Low: 보안 검증 거의 없음 → 학습용 기본
- Medium: 일부 필터링 적용 → 취약점 여전히 존재
- High: 필터링 강화 → 우회 방법 학습 가능
- Impossible: 보안적으로 안전한 상태 → 공격 불가능
🌐 취약 서버 접속
🌐 Burp Suite 실행 및 Proxy 설정
Burp Suite Community Edition 실행
- 설치 후 실행 →
Next → Start 클릭
- Burp 메인 화면에서 Proxy 탭 선택
Proxy의 역할
- 서버에서 조작된 데이터를 사용자(Client)에게 전달
- 사용자와 서버 사이에서 중간자(Proxy) 역할 수행
- Burp가 없을 경우에도 브라우저 자체의 프록시 기능 이용 가능
브라우저(Chrome)에서 Proxy 설정
- 설정 → 네트워크 및 인터넷 → 프록시 → 프록시 서버 편집
- Burp와 동일한 포트로 설정 (기본:
127.0.0.1:8080)
Burp 내장 브라우저로 DVWA 접속
Burp → Proxy → Open Browser 클릭
http://virtual.izerone.co.kr:8204/dvwa/index.php 접속
🔓 Brute Force (무차별 대입 공격)
로그인 기능을 대상으로 아이디/패스워드를 무작위로 시도하여 계정을 탈취하는 공격
- 예시: 알파벳 순서 대입, 딕셔너리 파일 사용
(1) 단일 계정 비밀번호 무차별 대입
- BurpSuite → Proxy → Intercept ON → 로그인 시도
- Request → 우클릭 →
Send to Intruder
- Positions → 비밀번호 필드 선택 후
Add
- Attack type:
Sniper
- Payloads → Payload type:
Brute Forcer
- Start Attack!
(2) 딕셔너리 기반 공격
- Payloads → Payload type:
Simple list
password.lst 파일 로드 (칼리 리눅스: /usr/share/john/password.lst)
- 주석 부분 제거 후 실행
- 응답 길이 비교하여 올바른 패스워드 식별
(3) 아이디 + 패스워드 동시 공격
- Proxy에서 로그인 Request →
Send to Intruder
- Positions 탭 → username + password 부분 설정 후
Add
- Attack type:
Cluster Bomb
- Payload set 1 (username), Payload set 2 (password) 각각 리스트 로드
- Options → Grep Match 추가 (예:
Welcome to the password protected area admin)
- Start Attack!
Burp에서 획득한 계정 정보로 DVWA 로그인 성공