📘 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.distconfig_inc.php 복사 및 수정
$_DVWA['db_user'] = getenv('DB_USER') ?: 'root';
$_DVWA['db_password'] = getenv('DB_PASSWORD') ?: '';

dvwa-master/setup.php 실행 → Create 버튼 클릭

DVWA Setup 1 DVWA Setup 2
🔐 DVWA Security Levels

DVWA는 보안 실습을 위해 보안 레벨을 조정할 수 있음:

  • Low: 보안 검증 거의 없음 → 학습용 기본
  • Medium: 일부 필터링 적용 → 취약점 여전히 존재
  • High: 필터링 강화 → 우회 방법 학습 가능
  • Impossible: 보안적으로 안전한 상태 → 공격 불가능
🌐 취약 서버 접속
🌐 Burp Suite 실행 및 Proxy 설정

Burp Suite Community Edition 실행

  1. 설치 후 실행 → NextStart 클릭
  2. 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) 단일 계정 비밀번호 무차별 대입
  1. BurpSuite → Proxy → Intercept ON → 로그인 시도
  2. Request → 우클릭 → Send to Intruder
  3. Positions → 비밀번호 필드 선택 후 Add
  4. Attack type: Sniper
  5. Payloads → Payload type: Brute Forcer
  6. Start Attack!
Burp Intercept Intruder 설정 Brute Forcer 공격
(2) 딕셔너리 기반 공격
  1. Payloads → Payload type: Simple list
  2. password.lst 파일 로드 (칼리 리눅스: /usr/share/john/password.lst)
  3. 주석 부분 제거 후 실행
  4. 응답 길이 비교하여 올바른 패스워드 식별
Dictionary 공격
(3) 아이디 + 패스워드 동시 공격
  1. Proxy에서 로그인 Request → Send to Intruder
  2. Positions 탭 → username + password 부분 설정 후 Add
  3. Attack type: Cluster Bomb
  4. Payload set 1 (username), Payload set 2 (password) 각각 리스트 로드
  5. Options → Grep Match 추가 (예: Welcome to the password protected area admin)
  6. Start Attack!

Burp에서 획득한 계정 정보로 DVWA 로그인 성공