📘 Day 22 (2025.07.17.THU) - BurpSuite

🍪 쿠키 저장 및 보이기

쿠키의 내용을 저장하거나 확인할 수 있도록 만드는 과정입니다. 이를 통해 나중에 세션 탈취 같은 공격에 이용할 수 있습니다.

board2.php 예시에서 session_start 때문에 쿠키가 생성됩니다.

session_start로 인해 쿠키가 생성된 예시
🌐 쿠키 탈취 예시

해커가 만든 링크를 클릭하면 사용자의 쿠키가 제3의 경유지(예: 네이버)로 넘어갈 수 있습니다.

해커의 제3의 경유지 예시 쿠키를 만든 상대방에게 접속된 상태
📝 파일에 저장되도록 구현

스크립트가 삽입된 게시글을 클릭하면 사용자의 쿠키가 해커에게 전송되고, 해당 데이터를 파일 또는 DB에 저장할 수 있습니다.

스크립트가 삽입된 게시글 쿠키 정보가 DB에 저장된 모습
🖥️ GNS 접속

Win7 환경에서 DVWA 접속하여 보안 레벨을 조절합니다.

  • Low : 해킹 연습용으로 보안이 매우 취약
  • Impossible : 모든 취약점 차단

Brute Force 메뉴 진입 → 로그인 → View source

🧰 BurpSuite 사용법

웹 해킹 필수 도구. 브라우저 요청을 가로채고 수정/재전송 가능합니다.(BurpSuite 없으면 파이썬 코드로 공격 가능)

  1. BurpSuite 실행 → Start Burp → target → open browser → 브라우저 뜨면 dvwa.geumsol.kr 접속
  2. Proxy 탭에서 Intercept off 확인 후 Open browser
  3. dvwa.geumsol.kr 접속 후 Intercept on(중간에 웹 내용 잡고 있음) → Forward
Send to Intruder
🔫 Intruder로 공격
  • Sniper Attack : 하나의 변수에 대해 공격(Auto : 변수들을 표시해줌, Clear : 변수를 없애줌)
  • Payloads 입력: 1, 12, 123 등 추가 → Start Attack
Intruder 설정 화면 Payload 추가 후 공격 시작 공격 실행 중

Settings → Grep Match(원하는 문자열 설정 후 필터링 가능) → Welcome to the password protected area admin(Add) → Start Attack

🐍 AutoAttack.py로 자동화

BurpSuite 대신 Python 코드로 자동화 공격 가능

http://dvwa.geumsol.kr/vulnerabilities/brute/?username=admin&password={passwd}&Login=Login
🔓 Weak Session IDs 실습

예측 가능한 Session ID를 생성하는 기능. 보안상 매우 취약.
유출할 수 있기 때문에 다른 사용자의 권한으로 접근할 수 있음
Session Time Out이 길면 문제가 발생
공격자가 다른 사용자의 ID를 재사용할 수 있음

  • DVWA - Weak Session IDs - Generate 클릭
  • 세션 ID가 단순히 숫자 증가 등으로 유추 가능
Weak Session ID 생성
🔐 세션 보안 레벨 비교

DVWA 내부 PHP 코드 분석

low.php - 예측 가능한 세션

DVWA-master/vulnerabilities/weak_id/low.php


medium.php - 일부 강화된 보호

유추하기 힘들지만, 유추 가능함(medium.php)


high.php - MD5 기반 보안

1시간 지나면 파기(짧게 유지)
MD5로 설정하는 이유 - 일방향성, 유추x(high.php)


impossible.php - 강력한 보안

유추가 안됨(impossible.php)
1시간 지나면 파기(짧게 유지)
weak_id 안에서만 사용할 수 있음


권장: 로그인 시 쿠키에 SHA-1을 포함하고, 세션 타임아웃을 짧게 설정해야 함