Пользовательский форк инструмента ffuf, который использует модифицированные библиотеки net/http и net/url, чтобы выйти за рамки возможностей обычного ffuf. Полностью совместим с обычным синтаксисом ffuf и фактически является его полной заменой.
Устанавливается с помощью команды
go install github.com/sw33tLie/uff/v2@latest.Функции
⏺️Фаззинг необработанных запросов (как в Burp Suite или Caido).
⏺️Фаззинг абсолютных URI (через флаг -opaque).
⏺️Отсутствие канонизации HTTP-заголовков (по умолчанию заголовок не будет написан с заглавной буквы — это позволяет обойти некоторые брандмауэры веб-приложений).
⏺️Допустимы некорректные HTTP-заголовки (например, заголовки, начинающиеся с пробела или без двоеточия).
⏺️-no-content-length флаг для отправки тела запроса даже без Content-Length.
⏺️Флаг -request фактически отправляет запрос, указанный в файле, без изменения порядка заголовков, без пропуска некорректных. битов и т. д.
⏺️Флаг -request-keepalive для установки Connection: keep-alive в файле -request и ускорения фаззинга.
⏺️Пользовательский агент по умолчанию заменён на последнюю версию Chrome. Пользовательский агент по умолчанию от ffuf заблокирован многими WAF.
⏺️Количество потоков по умолчанию увеличено до 200.
👀 Использование
1️⃣ Фаззинг абсолютных URI.
uff -c -u http://example.com -w - -opaque "http://127.0.0.1/FUZZ"
2️⃣ Фаззинг с применением недопустимого заголовка.
uff -c -u http://example.com/FUZZ -w - -H ' I AM AN INVALID: HEADER'
3️⃣ Фаззинг без применения канонизации заголовка.
uff -c -u http://example.com/FUZZ -w - -H 'lowercase-header: yes'
4️⃣ Злоупотребление HTTP-методом для полного контроля первой строки запроса.
uff -u "http://example.com" -w - -X "GET /FUZZ HTTP/1.0
x: x"
✏️ Таким образом, uff является более гибким и точным инструментом в фаззинге чем ffuf, что позволяет адаптироваться к современным задачам.
