Мощный и эффективный инструмент, предназначенный для тестирования открытых Swagger-эндпоинтов на разных поддоменах. Обладает интеллектуальными механизмами для обнаружения ложноположительных результатов. Особенно полезен для специалистов по безопасности и разработчиков, занимающихся тестированием API и поиском уязвимостей.
Основные характеристики
🟧поддерживает как одиночные домены, так и списки поддоменов.
🟧проверяет эндпоинты по HTTP и HTTPS.
🟧многопоточное сканирование для получения более быстрых результатов.
🟧продвинутая система выявления ложноположительных результатов.
🟧возможность конфигурации количества потоков, user-agent и других опций.
🟧Установка
git clone https://github.com/brinhosa/apidetector.git
cd apidetector
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
playwright install
🟧Примеры использования
APIDetector предлагает два способа взаимодействия с инструментом: через веб-интерфейс и традиционный интерфейс командной строки.
🟧Веб -интерфейс
python app.py [options]
#or
python app.py -p 8080
#or
python app.py --host 0.0.0.0
Доступные параметры: -p - номер порта, --host - адрес хоста
В веб-интерфейс можно попасть через браузер по указанному URL. Далее необходимо ввести целевой домен, настроить параметры сканирования и начать сканирование.
Обнаруженные эндпоинты API отображаются в режиме реального времени с отслеживанием прогресса. Уязвимые эндпоинты проверяются автоматически.
🟧Интерфейс командной строки
Сканирование списка поддоменов с помощью 30 потоков и пользовательского агента Chrome с сохранением результатов в файл
python apidetector.py -i list_of_company_subdomains.txt -o results_file.txt -t 30 -ua "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
Cканирование по протоколам HTTP и HTTPS
python apidetector.py -m -d example.com
🟧Опции
-d, --domain — Один домен для тестирования.
-i, --input — Файл ввода со списком поддоменов для проверки.
-o, --output — Файл вывода для записи валидных URL.
-t, --threads — Количество потоков для сканирования (по умолчанию 10).
-m, --mixed-mode — Тестировать оба протокола: HTTP и HTTPS.
-q, --quiet — Отключить подробный вывод (по умолчанию режим подробного вывода).
-ua, --user-agent — Пользовательская строка User-Agent для HTTP-запросов.
