
Фаззер URL-адресов с учётом домена, который динамически генерирует списки слов для обнаружения открытых резервных и конфиденциальных файлов на веб-серверах.
Мотивация • Предыстория • Установка • Использование • Запуск fuzzuli • Страница инструмента
fuzzuli — это инструмент для фаззинга URL, который предназначен для поиска критически важных резервных копий путем создания динамического списка слов на основе домена.
В своем многолетнем опыте тестирования безопасности приложений я находил множество критически важных резервных копий, хранящихся во внешне доступных каталогах. При именовании этих файлов обычно использовались распространенные слова (например, backup.zip, db.rar, conf.tar.gz и т.д.). Однако большинство этих файлов были названы с использованием доменного имени приложения. Предположим, у нас есть домен fuzzuli.musana.net. Если разработчик хранит критически важные резервные копии в доступном каталоге, возможные имена файлов будут выглядеть так.```raw
fuzzuli.net.rar
fuzzuli.net.zip
fuzzuli.net.tar.gz
...
other file compression extensions
...
fuzzulinet.rar
fuzzulinet.zip
...
fuzzulimusana.rar
fuzzulimusana.7z
...
musana.fuzzuli.zip
musanafuzzuli.rar
...
so on
...
Невозможно найти эти файлы с помощью традиционного подхода со списком слов.
# Предыстория
При именовании этих файлов часто за основу берётся доменное имя. Я сталкивался со сценариями, когда при именовании этих файлов точки в домене удаляются, гласные буквы удаляются или доменное имя используется как есть. Я учёл это при разработке этого инструмента. Поэтому при создании списка слов на основе домена я взял варианты без точек, без гласных, а также без точек и без гласных. Затем домен проходит через следующую функцию после удаления точек, гласных букв, а также и точек, и гласных.
Он проходит через следующую функцию после того, как домен переворачивается в **reverse method**.
**mixed method** меняет положение каждого поддомена. Затем результаты проходят через следующую функцию.
Математическое уравнение выглядит так.

**shuffle method** просто перемешивает поддомены и удаляет точки, гласные буквы, а также и точки, и гласные. Он не перебирает каждый символ в строке домена.
**fuzzuli** состоит из двух основных частей. Одна из них динамически создаёт список слов. Другая отправляет HTTP-запрос и проверяет ответ на наличие резервного/чувствительного файла.
Блок-схема **fuzzuli** представлена ниже.

**fuzzuli** использует 7 различных методов для создания списков слов. Давайте посмотрим результаты для `fuzzuli.musana.net`
## shuffle```bash
┌──(root㉿kali)-[/root/fuzzuli]
└─# echo https://fuzzuli.musana.net|fuzzuli -mt shuffle