
Инструмент безопасности для поиска потенциально уязвимых параметров межсерверной подделки запросов (SSRF).
Сканер безопасности (теперь с искусственным интеллектом 🤖) для поиска потенциальных параметров Server Side Request Forgery (SSRF) в вашем веб-приложении. See-SURF не только помогает обнаружить потенциальные параметры SSRF, но и помогает их проверить, защищая ваше приложение от компрометации системы и пользовательских данных.

Пожалуйста, цитируйте, если вы используете это программное обеспечение в своих исследовательских работах, статьях и т.д.
@software{Agrawal_See-SURF_Detect_SSRF_2019,
author = {Agrawal, Vaibhav},
month = jul,
title = {{See-SURF: Detect SSRF security vulnerability}},
url = {https://github.com/In3tinct/See-SURF},
version = {2.0.0},
year = {2019}
}
Автоматизированная разведка: Многопоточный краулер, который собирает и анализирует данные для выявления потенциальных параметров SSRF с использованием мощного regex-сопоставления (например, сопоставление ключевых слов, таких как url, website или IP-адреса). Поддерживает аутентификацию на основе куки для сканирования конечных точек, находящихся за страницами входа.
Интеграция с Burp Suite: Бесшовный разбор карты сайта Burp Suite (.xml) для обнаружения более широкого набора параметров перед краулингом.
Валидация и эксплуатация: Новая AI-интеграция включает обнаружение на основе ИИ через таких провайдеров, как Google Gemini и OpenAI, путём анализа заголовков ответов и генерации пользовательских payload'ов, умный механизм переключения для нацеливания на внутренние сервисы, такие как AWS Metadata, и автоматизированную проверку уязвимости для подтверждения утечки конфиденциальных данных (для Reflected/Non-blind SSRF).
Для обнаружения Blind SSRF реализовано внеполосное (OOB) обнаружение с использованием Webhook.site (по умолчанию) или предоставленного пользователем домена для выявления уязвимостей, когда сервер не возвращает прямой ответ.

git clone https://github.com/In3tinct/See-SURF.git
cd See-SURF/
pip3 install -r requirements.txt
python3 see-surf.py -H https://www.target.com
# Использование Google Gemini
python3 see-surf.py -H http://vulnerable-site.com -p google -m gemini-1.5-flash --api-key YOUR_KEY
# Использование OpenAI GPT-4
python3 see-surf.py -H http://vulnerable-site.com -p openai -m gpt-4 -a YOUR_KEY
# Использование локального Ollama
python3 see-surf.py -H http://vulnerable-site.com -p ollama -m llama3
python3 see-surf.py -H https://www.target.com -c "cookie_name1=value1 cookie_name2=value2"
python3 see-surf.py -H https://www.google.com -c cookie_name1=value1 cookie_name2=value2 -b burp_file.xml
-H Имя хоста/IP-адрес для сканирования
-c Куки для аутентифицированного сканирования, разделённые пробелом (некоторые сайты используют несколько куки для отслеживания сессии)
-p AI-провайдер: ollama (для локального вывода), gemini, OpenAI chatgpt, Anthropic claude
-m Название конкретной модели (например, gemini-1.5-flash, gpt-4o, llama3).
-a API-ключ для выбранного провайдера (также может быть задан через переменную окружения API_KEY).
-e Для тестирования Blind-SSRF OOBE-запроса с вашим пользовательским внешним доменом в формате http://google.com, иначе по умолчанию будет использоваться webhook.site.
-b (Необязательно, но рекомендуется) - Сканировать запрос с использованием карты сайта Burp Suite, экспортировать файл карты сайта и передать его See-SURF в качестве входных данных (смотрите подробные функции о том, как это сделать).
-v (Необязательно) По умолчанию включен обычный режим; при включении подробного режима вы увидите один и тот же уязвимый параметр в разных конечных точках. Один и тот же параметр может быть не везде очищен. Однако подробный режим создаёт много шума.
[-] ключ -b Карта сайта Burp показывает информацию, которую Burp собирает при изучении целевого приложения, например, собранные URL. Предоставьте файлы карты сайта Burp для лучшего обнаружения потенциальных параметров SSRF. Скрипт сначала проанализирует файл Burp и попытается определить потенциальные параметры, а затем запустит встроенный краулер на них.
Просматривайте цель с запущенным в фоне Burp Suite, делайте несколько GET/POST запросов, чем больше, тем лучше. Затем перейдите в Target, щелкните правой кнопкой мыши -> "Save selected Items" и сохраните. Передайте скрипту, как показано ниже.
)
Обнаружение: Скрипт сканирует цель на наличие ссылок <a> и полей <form> или анализирует файл карты сайта Burp.
Сопоставление параметров: Он ищет ключевые слова в именах параметров (например, url, redirect, dest) или шаблоны URL в значениях.
Канареечное зондирование (Non-Blind): Сначала пытается загрузить http://example.com. Если сигнатура "Example Domain" найдена в ответе, фиксируется потенциальный Reflected/Non-Blind SSRF.
AI-дактилоскопия и эксплуатация (Non-Blind): Если AI включен, он анализирует заголовки сервера и технологический стек и генерирует специфические внутренние payload'ы (AWS и т.д.).
Валидация (Non-Blind): AI проверяет результат ответа атаки, чтобы убедиться, что возвращённые данные действительно являются конфиденциальной или внутренней информацией, снижая количество ложных срабатываний.
OOBE-зондирование (Blind): Для каждого потенциального параметра генерируется уникальный payload для Webhook.site. Затем выполняется опрос API Webhook для подтверждения того, что целевой сервер сделал внешний запрос.
Используйте See-SURF для сканирования целей только с предварительного взаимного согласия. Конечный пользователь несет ответственность, и разработчик не несет никакой ответственности и не отвечает за любое неправильное использование или ущерб, причиненный этой программой. Используйте этот инструмент только в образовательных целях или на доменах, на тестирование которых у вас есть явное разрешение. Используйте на свой страх и риск.
GNUV3 © [In3tinct]