Представляет собой вспомогательный инструмент для фаззинга регулярных выражений методом чёрного ящика, который позволяет обходить проверки и обнаруживать нормализации в веб-приложениях. Также может быть полезен для обхода WAF и слабых механизмов защиты от уязвимостей.
Цель этого инструмента — генерация полезных нагрузок (payloads) для тестирования. Фактическое фаззинг-тестирование должно проводиться с помощью других инструментов, таких как Burp, Caido, ffuf и др.
Установить можно через python или docker следующими командами.
git clone https://github.com/0xacb/recollapse.git
cd recollapse
#Python 3
python3 setup.py install
#Docker
docker build -t recollapse .
Режимы работы
Предположим, что входная строка — this_is.an_example.
.^$*+-?()[]{}\|
Кодирование
Диапазон
Диапазон байтов для фаззинга: -r 1-127 позволит исключить буквенно-цифровые символы, если не указана опция -an (буквенно-цифровые символы).
Размер
Размер фаззинга для режимов 1, 2 и 4. По умолчанию выполняется фаззинг всех возможных значений для одного байта. Увеличение размера потребует больше ресурсов и приведет к созданию большего количества входных данных, но это может помочь найти новые обходные пути.
Таблицы
Используйте -nt параметр, чтобы отобразить таблицу нормализации, -ct параметр, чтобы отобразить таблицу регистров, и -tt параметр, чтобы отобразить таблицу усечения. Также можно использовать --html параметр для вывода таблиц в формате HTML.
recollapse -nt --html > normalization_table.html
recollapse -tt --html > truncation_table.html
recollapse -ct --html > case_table.html
recollapse -e 1 -m 1,2,4 -r 10-11 https://legit.example.com
echo "a@b.com" | recollapse
echo "<svg/onload=alert(1)>" | recollapse | ffuf -w - -u "https://example.com/?param=FUZZ" -mc 200,403,500
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍6🔥6