Tải bản đầy đủ (.docx) (31 trang)

Bài tập lớn môn an toàn mang, học viện bưu chính viễn thông (21)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.8 MB, 31 trang )

BỘ THÔNG TIN VÀ TRUYỀN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG
---------------------------------------

BÁO CÁO TIỂU LUẬN
MƠN AN TỒN MẠNG
CHỦ ĐỀ: Tìm hiểu về cơng cụ FFUF
Giảng viên:

TS. Đặng Minh Tuấn

Sinh viên:

Nguyễn Trần Tuấn Dũng

MSV:

B18DCAT036

Nhóm mơn học:

Nhóm 2

Hà Nội, 2021


Mục lục
DANH SÁCH THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT............................................................................4
DANH MỤC HÌNH ẢNH.....................................................................................................................................5
LỜI NĨI ĐẦU.......................................................................................................................................................6
Giới thiệu, lịch sử hình thành..............................................................................................................................7


Giới thiệu.............................................................................................................................................................7
Lịch sử hình thành...............................................................................................................................................7
Hướng dẫn cài đặt.................................................................................................................................................7
1.

Cài đặt FFUF trên các máy Linux.................................................................................................................7

2.

Cài đặt FFUF trên các máy Windows..........................................................................................................8

Các khái niệm cơ bản...........................................................................................................................................9
1.

Fuzzing.........................................................................................................................................................9

2.

Wordlist.......................................................................................................................................................9

Hướng dẫn sử dụng.............................................................................................................................................10
Các tùy chọn của FFUF......................................................................................................................................10
Một số tùy chọn phổ biến, hay dùng................................................................................................................13
1.

Các tùy chọn chung...................................................................................................................................13

2.

Các tùy chọn HTTP..................................................................................................................................14


3.

Các tùy chọn đầu vào................................................................................................................................14

5.

Các tùy chọn lọc kết quả...........................................................................................................................15

6.

Các tùy chọn tìm kết quả trùng khớp với điều kiện đưa ra......................................................................15

Các cách sử dụng FFUF.....................................................................................................................................16
1.

Tìm kiếm các files, thư mục ẩn trên web.................................................................................................16
Tìm kiếm thư mục trên web.........................................................................................................................16
Tìm kiếm files trên web................................................................................................................................16

2.

Tìm các trang trong trang web.................................................................................................................17

3.

Tìm subdomain của trang web.................................................................................................................17

4.


Recursive Fuzzing (Tìm kiếm đệ quy).......................................................................................................18

5.

Tìm tham số PHP.......................................................................................................................................19
GET Request Fuzzing.....................................................................................................................................19
POST Request Fuzzing...................................................................................................................................19

6.

Tìm kiếm giá trị của tham số....................................................................................................................20


Lab, kịch bản, demo............................................................................................................................................20
1.

Tìm kiếm thư mục web.............................................................................................................................20

2.

Tìm kiếm files trên web............................................................................................................................21

3.

Tìm subdomain của trang web.................................................................................................................23

4.

Tìm kiếm và duyệt đệ quy với FFUF.........................................................................................................24


5.

Tìm tên tham số với FFUF.........................................................................................................................25

So sánh..................................................................................................................................................................27
So sánh với DirBuster và GoBuster...................................................................................................................27
So sánh với Wfuzz.............................................................................................................................................28
Kết luận................................................................................................................................................................29
TÀI LIỆU THAM KHẢO..................................................................................................................................30


DANH MỤC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT
Thuật ngữ tiếng Anh/Từ viết tắt
Wordlist
opensource
Thread
Request
Tool
File
Bruteforce
Extension
Option
IIS (Internet Information Services)

Thuật ngữ tiếng Việt/ Giải thích
Danh sách từ
Mã nguồn mở
Luồng
Thơng báo u cầu HTTP
Cơng cụ

Tập tin
Một loại tấn công mạng
Phần đuôi của 1 tập tin
Tùy chọn
Phần mềm máy chủ web mở rộng được
tạo bởi Microsoft

DANH MỤC HÌNH ẢNH
Hình 1 Cài đặt golang trên máy Linux...........................................................................7


Hình 2. Cài đặt FFUF thơng qua go complier................................................................8
Hình 3. Kiểm tra phiên bản FFUF trên máy Linux........................................................8
Hình 4. Kiểm tra thơng tin phiên bản của FFUF trên máy Windows.............................9
Hình 5. Repo SecLists trên Github...............................................................................10
Hình 6. Câu lệnh hiển thị các option của FFUF...........................................................10
Hình 7. Các tùy chọn chung của FFUF........................................................................13
Hình 8. Các tùy chọn HTTP của FFUF........................................................................14
Hình 9. Các tùy chọn đầu vào của FFUF.....................................................................14
Hình 10. Các tùy chọn đầu ra của FFUF......................................................................15
Hình 11. Các tùy chọn lọc kết quả của FFUF...............................................................15
Hình 12. Các tùy chọn tìm kết quả trùng khớp.............................................................15
Hình 13. Sử dụng FFUF để tìm kiếm thư mục ẩn trên trang web................................20
Hình 14. Kết quả tìm kiếm thư mục.............................................................................21
Hình 15. Trang web khơng hiển thị gì khi truy cập thư mục........................................21
Hình 16. Sử dụng FFUF để tìm đi file khả dụng trong thư mục..............................22
Hình 17. Kết quả tìm kiếm file trong thư mục.............................................................23
Hình 18. Câu lệnh tìm subdomain của 1 trang web......................................................23
Hình 19. Kết quả tìm kiếm subdomain.........................................................................24
Hình 20. Tìm kiếm đệ quy với FFUF...........................................................................24

Hình 21. Quá trình tìm kiếm đệ quy của FFUF............................................................25
Hình 22. Trang web thơng báo khơng đủ quyền đọc dữ liệu........................................25
Hình 23. Câu lệnh FFUF tìm kiếm tên tham số hợp lệ.................................................26
Hình 24. Kết quả tìm kiếm tham số..............................................................................26
Hình 25. Giao diện người dùng của DirBuster.............................................................27


LỜI NĨI ĐẦU
Trong thời đại cơng nghệ thơng tin đang có những bước phát triển như vũ bão
trên mọi lĩnh vực hoạt động ở khắp nơi trên toàn thế giới, hầu hết các tổ chức, doanh
nghiệp đều có cho mình một Website để thông tin và buôn bán sản phẩm – dịch vụ đến
khách hàng. Mỗi Website dù nhỏ dù to luôn tồn tại những điểm yếu bảo mật nghiêm
trọng mà tin tặc có thể khai thác để phá hoại.
Vì vậy, trong bài báo cáo này, em sẽ giới thiệu về kĩ thuật Fuzzing và công cụ
FFUF cũng như các cách sử dụng để tìm ra những lỗ hổng bảo mật tồn tại trong 1
website.


Giới thiệu, lịch sử hình thành
Giới thiệu
FFUF (Fuzz Faster U Fool) là một tool opensource được viết bằng ngôn ngữ lập
trình Go, ffuf ngày càng phát triển vì tốc độ đáng kể của nó, nếu chạy 100 thread thì
chúng ta có thể thực hiện scan subdomains với 1 wordlist khoảng 110 nghìn từ chỉ mất
3 phút 50 giây, với số request trung bình mỗi giây là 2000.
Lịch sử hình thành
FFUF là một dự án mã nguồn mở, được duy trì bởi cộng đồng, được tạo ra bởi joohoi
( ) vào ngày 11 tháng 11 năm 2019.

Hướng dẫn cài đặt
1. Cài đặt FFUF trên các máy Linux

o Cài đặt môi trường
Vì FFUF được viết bằng golang nên việc đầu tiên chúng ta cần làm là cái
đặt golang
sudo apt-get install golang

Hình 1 Cài đặt golang trên máy Linux
o Cài đặt FFUF
Nếu như đã cài sẵn go compiler thì chỉ cần gõ lệnh
go get github.com/ffuf/ffuf

Hình 2. Cài đặt FFUF thơng qua go complier


Hoặc
git clone < />cd ffuf
go build
Để kiểm tra việc cài đặt đã thành cơng hay chưa, chúng ta có thể kiểm tra
bằng cách kiểm tra phiên bản:
ffuf –V

Hình 3. Kiểm tra phiên bản FFUF trên máy Linux

2. Cài đặt FFUF trên các máy Windows
o Cài đặt Golang từ trang chủ />o Cài đặt FFUF thông qua Windows terminal tương tự như các máy Linux
go get github.com/ffuf/ffuf
Hoặc
git clone < />cd ffuf
go build
o Kiểm tra phiên bản


Hình 4. Kiểm tra thơng tin phiên bản của FFUF trên máy Windows


Các khái niệm cơ bản
1. Fuzzing
Fuzzing là một kỹ thuật phát hiện lỗi của phần mềm bằng cách tự động hoặc
bán tự động sử dụng phương pháp lặp lại thao tác sinh dữ liệu sau đó chuyển
cho hệ thống xử lý. Nó cung cấp dữ liệu đầu vào cho chương trình (là các dữ
liệu khơng hợp lệ, dữ liệu khơng mong đợi: các giá trị vượt quá biên, các giá trị
đặc biệt có ảnh hưởng tới phần xử lý, hiển thị của chương trình), sau đó theo
dõi và ghi lại các lỗi, các kết quả trả về của ứng dụng trong quá trình xử lý của
chương trình. Fuzzing là một trong những kỹ thuật của kiểm thử hộp đen.
khơng địi hỏi quyền truy cập vào mã nguồn. Do nó có khả năng tìm thấy lỗi
một cách nhanh chóng và tránh được việc phải xem mã nguồn.
2. Wordlist
o

Wordlist về cơ bản là một danh sách các từ trong một tệp văn bản, mỗi
dòng chứa 1 từ, được thiết kế cho các mục đích khác nhau


o

Các wordlist có thể tìm được trên github, thơng qua repo github nổi tiếng
là SecLists. SecLists là một tập hợp của các danh sách từ được sử dụng
trong quá trình đánh giá bảo mật. Danh sách này gồm nhiều mục như
username (tên đăng nhập), passwords (mật khẩu),..v..v..

Hình 5. Repo github SecLists


Hướng dẫn sử dụng
Các tùy chọn của FFUF
Đầu tiên chúng ta sẽ tìm hiểu những tùy chọn mà FFUF hỗ trợ, giống như các tool
khác, FFUF cung cấp tùy chọn -h để xem những tùy chọn mà FFUF hỗ trợ

Hình 6. Câu lệnh hiển thị các option của FFUF
Đầu ra cho chúng ta thấy những tùy chọn mà FFUF có hỗ trợ:
Fuzz Faster U Fool - v1.3.1-dev
HTTP OPTIONS:


-H
Header `"Name: Value"`, separated by colon. Multiple -H
flags are accepted.
-X
HTTP method to use
-b
Cookie data `"NAME1=VALUE1; NAME2=VALUE2"` for copy as curl
functionality.
-d
POST data
-ignore-body
Do not fetch the response content. (default: false)
-r
Follow redirects (default: false)
-recursion
Scan recursively. Only FUZZ keyword is supported, and URL
(-u) has to end in it. (default: false)
-recursion-depth
Maximum recursion depth. (default: 0)

-recursion-strategy Recursion strategy: "default" for a redirect based, and
"greedy" to recurse on all matches (default: default)
-replay-proxy
Replay matched requests using this proxy.
-sni
Target TLS SNI, does not support FUZZ keyword
-timeout
HTTP request timeout in seconds. (default: 10)
-u
Target URL
-x
Proxy URL (SOCKS5 or HTTP). For example:
<http://127.0.0.1:8080> or socks5://127.0.0.1:8080
GENERAL OPTIONS:
-V
Show version information. (default: false)
-ac
Automatically calibrate filtering options (default: false)
-acc
Custom auto-calibration string. Can be used multiple times.
Implies -ac
-c
Colorize output. (default: false)
-config
Load configuration from a file
-maxtime
Maximum running time in seconds for entire process.
(default: 0)
-maxtime-job
Maximum running time in seconds per job. (default: 0)

-noninteractive
Disable the interactive console functionality (default:
false)
-p
Seconds of `delay` between requests, or a range of random
delay. For example "0.1" or "0.1-2.0"
-rate
Rate of requests per second (default: 0)
-s
Do not print additional information (silent mode) (default:
false) -sa
Stop on all error cases. Implies -sf and -se.
(default: false)
-se
Stop on spurious errors (default: false)
-sf
Stop when > 95% of responses return 403 Forbidden (default:
false) -t
Number of concurrent threads. (default: 40)
-v
Verbose output, printing full URL and redirect location (if
any) with the results. (default: false)
MATCHER OPTIONS:
-mc
Match HTTP status codes, or "all" for everything. (default:
200,204,301,302,307,401,403,405)
-ml
Match amount of lines in response
-mr
Match regexp



-ms
Match HTTP response size
-mt
Match how many milliseconds to the first response byte,
either greater or less than. EG: >100 or <100
-mw
Match amount of words in response
FILTER OPTIONS:
-fc
Filter
list of codes and ranges
-fl
Filter
of line counts and ranges
-fr
Filter
-fs
Filter
and ranges
-ft
Filter
byte, either greater or less
-fw
Filter
of word counts and ranges

HTTP status codes from response. Comma separated
by amount of lines in response. Comma separated list

regexp
HTTP response size. Comma separated list of sizes
by number of milliseconds to the first response
than. EG: >100 or <100
by amount of words in response. Comma separated list

INPUT OPTIONS:
-D
DirSearch wordlist compatibility mode. Used in conjunction
with -e flag. (default: false)
-e
Comma separated list of extensions. Extends FUZZ keyword.
-ic
Ignore wordlist comments (default: false)
-input-cmd
Command producing the input. --input-num is required when
using this input method. Overrides -w.
-input-num
Number of inputs to test. Used in conjunction with --inputcmd. (default: 100)
-input-shell
Shell to be used for running command
-mode
Multi-wordlist operation mode. Available modes:
clusterbomb, pitchfork (default: clusterbomb)
-request
File containing the raw http request
-request-proto
Protocol to use along with raw request (default: https)
-w
Wordlist file path and (optional) keyword separated by

colon. eg. '/path/to/wordlist:KEYWORD'
OUTPUT OPTIONS:
-debug-log
Write all of the internal logging to the specified file.
-o
Write output to file
-od
Directory path to store matched results to.
-of
Output file format. Available formats: json, ejson, html,
md, csv, ecsv (or, 'all' for all formats) (default: json)
-or
Don't create the output file if we don't have results
(default: false)
EXAMPLE USAGE:
Fuzz file paths from wordlist.txt, match all responses but filter out those
with content-size 42.
Colored, verbose output.
ffuf -w wordlist.txt -u < -mc all -fs 42 -c -v


Fuzz Host-header, match HTTP 200 responses.
ffuf -w hosts.txt -u < -H "Host: FUZZ" -mc 200
Fuzz POST JSON data. Match all responses not containing text "error".
ffuf -w entries.txt -u < -X POST -H "Content-Type:
application/json" \\
-d '{"name": "FUZZ", "anotherkey": "anothervalue"}' -fr "error"
Fuzz multiple locations. Match only responses reflecting the value of "VAL"
keyword. Colored.
ffuf -w params.txt:PARAM -w values.txt:VAL -u < />PARAM=VAL> -mr "VAL" -c

More information and examples: < />
Ở phần cuối của help, FFUF cũng đề cập đến các ví dụ trong từng trường hợp sử dụng
với các mục đích khác nhau.

Một số tùy chọn phổ biến, hay dùng
1. Các tùy chọn chung

Hình 7. Các tùy chọn chung của FFUF

-v: Hiển thị thông tin phiên bản của FFUF


-config: Load file config từ một đường dẫn
-rate: Xác định số request trong 1 giây
-v: In ra đường dẫn URL đầy đủ
-p: Xác định khoảng thời gian nghỉ giữa 2 request
-c: Hiển thị đầu ra có màu, giúp dễ dàng quan sát kết quả hơn

2. Các tùy chọn HTTP

Hình 8. Các tùy chọn HTTP của FFUF
-H: xác định header theo dạng “Name: Value”
-X: xác định HTTP method sẽ sử dụng (GET, POST, PUT,…)
-d: xác định data của POST request
-recursion: sử dụng chế độ tìm kiếm và duyệt đệ quy
-u: xác định URL của mục tiêu

3. Các tùy chọn đầu vào



Hình 9. Các tùy chọn đầu vào của FFUF
-w: chỉ ra đường dẫn của wordlist mà FFUF sẽ sử dụng
-e: chỉ ra các đi file cần tìm
4.

Các tùy chọn đầu ra

Hình 10. Các tùy chọn đầu ra của FFUF
-o: ghi kết quả ra file
-or: không tạo file kết quả nếu khơng có kết quả
5. Các tùy chọn lọc kết quả


Hình 11. Các tùy chọn lọc kết quả của FFUF
-fc: Lọc theo HTTP status code. Ví dụ: -fc 200: chỉ lọc những request chả lại
status code 200 OK
-fl: Lọc theo tổng số dòng trong response
-fr: Lọc theo regex
-fw: Lọc theo số từ trong response
6. Các tùy chọn tìm kết quả trùng khớp với điều kiện đưa ra

Hình 12. Các tùy chọn tìm kết quả trùng khớp
-mc: Match status code, nếu khơng chỉ định thì sẽ sử dụng giá trị default
-ml: Match với số dòng trong response
-mr: Match với regex
-ms: Match với HTTP response size
-mw: Match với số thứ tự trong response


Các cách sử dụng FFUF

1. Tìm kiếm các files, thư mục ẩn trên web
o Về cốt lõi, một trong những chức năng chính của FFUF mà mọi người
thường sử dụng là bruteforce để tìm ra các thư mục ẩn của trang web.
o Với việc phát triển web như hiện nay các web thường được phân quyền
các user nhưng nhiều khi các lập trình viên vơ tình xác thực và phân
quyền sai dẫn đến việc truy cập khơng thể kiểm sốt. Chính vì vậy fuzz
web chính là để tìm kiếm các thư mục bị ẩn đi hay các file dữ liệu nhạy
cảm có thể bị tiết lộ.
Tìm kiếm thư mục trên web
Để tìm kiếm các files, thư mục ẩn trên web với FFUF, chúng ta chỉ cần sử dụng
2 options để tìm kiếm các thư mục là -w và -u với:
o option -w xác định đường dẫn của wordlist mà chúng ta sử dụng
o option -u xác định URL của trang web
Ví dụ:
ffuf -u < -w
/usr/share/wordlists/dirbuster/directory-list-1.0.txt
Với từ khóa FUZZ là vị trí cần tìm, có vai trị là một placeholder, nghĩa là lần
lượt các từ trong wordlist sẽ được thay thế cho từ khóa FUZZ
Tìm kiếm files trên web
Để sử dụng FFUF với mục đích tìm kiếm các file với các extensions khác nhau
thì ta có thể sử dụng thêm option -e
Ví dụ:


ffuf -u < -w
/usr/share/wordlists/dirbuster/directory-list-1.0.txt
-e .html,.php,.txt
Option -e xác định những đuôi file (extension) cần tìm.
2. Tìm các trang trong trang web
Giả sử chúng ta sử dụng FFUF và tìm được thư mục /blog trong trang web,

nhưng khi truy cập vào URL ** web không trả lại
và hiển thị bất kỳ trang nào. Lúc này, chúng ta có thể sử dụng FFUF để tiếp tục
kiểm tra thư mục /blog có chứa bất kỳ trang ẩn nào không. Tuy nhiên, trước khi
chúng bắt đầu, chúng ta cần xác định những loại trang nào có thể tồn tại trong
thư mục (Ví dụ như .html,.aspx,.php,....), bằng cách kiểm tra máy chủ web
(web server). Ví dụ, nếu máy chủ là apache, thì phần mở rộng có thể là .php,
nếu máy chủ là IIS, phần mở rộng có thể là .aps hoặc .aspx.
Chúng ta có thể sử dụng wordlist web-extensions.txt trong repo github
SecLists để tìm những duyệt qua những phần mở rộng, từ đó biết được loại file
có thể chứa trong thư mục mà khơng cần biết web server là gì.
Ví dụ:
ffuf -w /opt/useful/SecLists/Discovery/WebContent/web-extensions.txt:FUZZ -u
http://SERVER_IP:PORT/blog/indexFUZZ
Trong ví dụ trên, chúng ta sẽ tìm đi file bằng cách duyệt qua từng từ trong
wordlist web-extensions.txt.
3. Tìm subdomain của trang web
Subdomain hay miền phụ là phần mở rộng của tên miền. Ví dụ,
với mail là subdomain của google.com


Để có thể tìm subdomain của trang web với FFUF, chúng ta cần một wordlist.
Trong repo SecLists đã đề cập ở trên, chúng ta có wordlist dành riêng cho việc
này, có thể tìm thấy ở SecLists/Discovery/DNS/.
Ví dụ:
ffuf -w
/opt/useful/SecLists/Discovery/DNS/subdomainstop1million-5000.txt:FUZZ -u
< />Trong ví dụ nêu trên, FFUF sẽ thực hiện tìm các subdomain của trang web
example.com với wordlist là subdomains-top1million-5000.txt
4. Recursive Fuzzing (Tìm kiếm đệ quy)
Đặt ra tình huống mỗi thư mục chúng ta tìm được với FFUF sẽ có các thư mục

con và tệp riêng, thì việc tìm kiếm files và thư mục tuần tự sẽ mất rất nhiều thời
gian để hoàn thành. Khi đó, để có thể tự động hóa việc tìm kiếm file và thư mục
trên trang web nhằm mục đích tiết kiệm thời gian chúng ta có thể sử dụng
Recursive fuzzing của FFUF.
Khi chúng ta sử dụng option -recursive, FFUF sẽ tự động bắt đầu một quá trình
quét khác theo bất kỳ thư mục mới nào đã được xác định cho đến khi duyệt qua
tất cả thư mục con của nó. Nghĩa là, nếu FFUF tìm ra thư mục con /folder1 của
trang web example.com, FFUF sẽ tự động tìm kiếm các thư mục con trong thư
mục /folder1 và cứ tiếp tục lặp đệ quy như thế.
Các option cần sử dụng để thực hiện tìm kiếm đệ quy bằng FFUF là -recursive
và -recursive-depth
o Option -recursive để cho thông báo cho FFUF thực hiện duyệt và tìm
kiếm đệ quy
o Option -recursive-depth để xác định “độ sâu” của duyệt và tìm kiếm đệ
quy, nếu để giá trị này bằng 1, FFUF sẽ chỉ duyệt và tìm kiếm các thư
mục chính và thư mục con trực tiếp của chúng


Ví dụ:
ffuf -w /opt/useful/SecLists/Discovery/WebContent/directory-list-2.3-small.txt:FUZZ -u
http://SERVER_IP:PORT/FUZZ -recursion -recursiondepth 1 -e .php -v
Ở ví dụ trên, chúng ta sử dụng thêm option -v để FFUF in ra URL đầy đủ của 1
thư mục nếu tìm được và option -e để tìm kiếm các file có đi .php
5. Tìm tham số PHP
GET Request Fuzzing
Giả sử chúng ta muốn tìm kiếm 1 tham số PHP, chúng ta có thể sử dụng FFUF
để làm việc đó. Một URL kèm tham số sẽ có dạng
:PORT/admin/admin.php?
param1=key.
Với param là tên tham số truyền vào và key là giá trị của tham số.

Vì vậy, tất cả những gì cần làm là thay param thành FUZZ và để FFUF tìm
kiếm tham số, ví dụ:
ffuf -w /opt/useful/SecLists/Discovery/WebContent/burp-parameter-names.txt:FUZZ -u
<>:PORT/admin/admin.php?
FUZZ=key -fs xxx
POST Request Fuzzing
Tương tự với GET request kèm tham số, chúng ta cũng có thể sử dụng FFUF
với các POST request. Điểm khác biệt ở đây là các POST request sẽ không
được chuyển bằng cách thêm ? và tên tham số kèm giá trị vào URL
Với FFUF, chúng ta sẽ sử dụng option -d để xác định data cần gửi trong POST
Request


Ví dụ:
ffuf -w /opt/useful/SecLists/Discovery/WebContent/burp-parameter-names.txt:FUZZ -u
<>:PORT/admin/admin.php -X
POST -d 'FUZZ=key' -H 'Content-Type: application/xwww-form-urlencoded' -fs xxx
6. Tìm kiếm giá trị của tham số
Giả sử chúng ta đã sử dụng FFUF để tìm ra tên đúng của tham số, nhưng cần
thêm giá trị hợp lệ của tham số đó, FFUF cũng có thể giúp chúng ta làm việc
này, chỉ cần một chút thay đổi nhỏ trong câu lệnh, thay vì để FUZZ vào tên
tham số, chúng ta sẽ để vào phần giá trị của tham số, chi tiết ở ví dụ dưới:
ffuf -w ids.txt:FUZZ -u
<>:PORT/admin/admin.php -X
POST -d 'id=FUZZ' -H 'Content-Type: application/xwww-form-urlencoded' -fs xxx
Câu lệnh trên sẽ duyệt từng giá trị trong wordlist để tìm ra giá trị đúng của tham
số id

Lab, kịch bản, demo
1. Tìm kiếm thư mục web

Demo tìm kiếm thư mục web của trang web có URL
http://167.99.202.131:32466/
Sử dụng câu lệnh ffuf với option -w để xác định wordlist sử dụng và -u để xác
định URL trang web cần tìm thư mục

Hình 13. Sử dụng FFUF để tìm kiếm thư mục ẩn trên trang web


Tìm được 2 thư mục của trang web

Hình 14. Kết quả tìm kiếm thư mục
Với đường dẫn tương ứng là **http://167.99.202.131:32466/forum** và
**http://167.99.202.131:32466/blog**
2. Tìm kiếm files trên web
Kịch bản: Chúng ta phát hiện ra được thư mục /blog, nhưng khi truy cập vào thì
trang web khơng hiển thị gì. Khi đó, chúng ta sẽ sử dụng FFUF để tìm kiếm các


file trong thư mục web /blog

Hình 15. Trang web khơng hiển thị gì khi truy cập thư mục

Tìm ra đi file hợp lệ bằng wordlist web-extensions.txt , ta thấy với đuôi
file .php, trang web trả về status code 200, nghĩa là đây là đi file hợp lệ

Hình 16. Sử dụng FFUF để tìm đi file khả dụng trong thư mục


Tiếp theo, chúng ta tìm kiếm tên file hợp lệ, sử dụng wordlist directory-list2.3-medium.txt. Ta tìm được 2 trang là home.php và index.php


Hình 17. Kết quả tìm kiếm file trong thư mục


3. Tìm subdomain của trang web
Demo dị tìm subdomain của một trang web sử dụng wordlist subdomainstop1million-5000.txt, trang web được tiến hành dị tìm subdomain ở đây là
hackthebox.eu

Hình 18. Câu lệnh tìm subdomain của 1 trang web

Và kết quả chúng ta tìm được các subdomain của trang web hackthebox.eu:

Hình 19. Kết quả tìm kiếm subdomain


×