ffuf (Fuzz Faster U Fool)

ffuf는 웹 퍼징 도구로 디렉토리나 파일 정찰, 파라미터 탐색 등 브루트 포싱을 이용한 정찰 도구입니다.

블랙박스 문제나 일부 버그바운티 과정에서 트래픽을 주의하며 사용할 수 있기에 정리해보았습니다.

기본 구조

ffuf -u http://target.com/FUZZ -e .php,.txt,.html,.bak -w <워드리스트 경로>
# -u 옵션은 url 설정
# -e 옵션은 확장자를 추가

 

FUZZ라는 키워드가 들어간 자리에 워드리스트의 단어가 하나씩 대입되어 부루트포싱하는 구조입니다.

응답 필터링

1. 특정 상태코드만 (Match)

-mc 200,301,302,403

 

2. 특정 상태코드 제외 (Filter)

-fc 401,403,404

 

3. 응답 크기 기반 필터

-fs 1234         # 응답 크기가 1234바이트인 결과 제외

 

4. 응답 단어 수 기반 필터

-fw 42           # 단어 수가 42개인 결과 제외

 

5. 응답 라인 수 기반 필터

-fl 10           # 라인 수가 10인 결과 제외

 

6. 정규식 필터

-fr "not found"  # 응답 본문에 "not found"가 포함된 결과 제외

사용 예시

ffuf -u "http://target.com/page?FUZZ=test" -w /usr/share/wordlists/params.txt -fc 404
# GET 파라미터 퍼징, 404 상태코드 제외

ffuf -u "http://target.com/page?FUZZ=W2" -w params.txt:FUZZ -w values.txt:W2 -fc 404
# 두 개이상의 값을 동시에 퍼징할려면 위와 같이 각각의 키워드에 워드리스트를 대응시켜야함.
# params.txt:FUZZ -w values.txt:W2 이런식으로 작성

ffuf -u http://target.com/login -X POST \
  -d "username=admin&password=FUZZ" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -w /usr/share/wordlists/rockyou.txt -fc 401
# -X 옵션으로 메소드 결정
# -d 옵션으로 데이터 포함
# -H 옵션으로 헤더 설정
# curl 옵션과 동일

가상 호스트(서브 도메인) 탐색 예시

ffuf -u http://target.com -H "Host: FUZZ.target.com" \
  -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt \
  -fs 1234   # 기본 페이지 크기를 필터링

헤더 퍼징 예시

ffuf -u http://target.com/admin -H "X-Forwarded-For: FUZZ" -w ips.txt

쿠키/인증 포함 퍼징 예시

ffuf -u http://target.com/FUZZ -w wordlist.txt \
  -b "session=abc123" \           # 쿠키
  -H "Authorization: Bearer {token}"  # 인증 헤더
# -b 옵션은 HTTP 요청에 쿠키를 포함시키는 역할

재귀 탐색 (깊이 탐색)

ffuf -u http://target.com/FUZZ -w wordlist.txt -recursion -recursion-depth 2

-recursion                # 재귀 탐색 활성화
-recursion-depth 3        # 최대 깊이 설정 (기본값: 0 = 무제한, 위험!)
-recursion-strategy greedy  # 전략 설정

설정
default - 응답 코드가 리다이렉트인 경우에만 디렉토리로 판단하고 재귀 진입
greedy - 매칭 된 모든 결과에 대해 재귀 진입

기타 주요 옵션 정리

  • -t : 스레드 수 결정, 기본 40. 스레드 1당 한개의 요청을 동시에 보냄.
  • -rate : 초당 요청 수 제한 옵션 
  • -timeout : 요청 타임아웃 (초) 설정
  • -o : 결과를 파일로 저장
  • -of : 출력 형식을 지정
  • -ic : 워드리스트의 코멘트 무시 (주석 무시)
  • -ac : 기본 응답을 자동으로 걸러주는 옵션
  • -s : 결과만 출력하는 사일런트 모드 설정
  • -p : 요청 간 딜레이(초) 설정

 

 

'보안 > 워게임 (웹 해킹)' 카테고리의 다른 글

Challenge - old-25 write up  (0) 2025.04.12
Challenge - old-23 write up  (0) 2025.04.12
Challenge - old-27 write up  (0) 2025.04.09
Challenge - old-54 write up  (0) 2025.04.05
Challenge - old-38 write up  (0) 2025.04.05

+ Recent posts