
POC-файрвол с правилами, предназначенными для обнаружения и блокирования эксплойта уязвимости Spring4Shell (CVE-2022-22965).
Этот проект является proof-of-concept (POC) брандмауэра сервера, предназначенного для обнаружения и блокировки атак, использующих уязвимость CVE-2022-22965, известную как Spring4Shell. Сервер проверяет входящие HTTP-запросы и блокирует любые, соответствующие известным вредоносным шаблонам, связанным с этой уязвимостью.
Обработчик брандмауэра сервера — это простой HTTP-сервер на Python, созданный с использованием библиотеки http.server. Он отслеживает входящие HTTP POST-запросы, проверяя определенные заголовки и шаблоны полезной нагрузки, связанные с уязвимостью Spring4Shell. Если запрос соответствует этим шаблонам, он блокируется, и сервер отвечает статусом 403 Forbidden.
Клонируйте репозиторий
git clone https://github.com/BlackBird63030/Block-Spring4Shell
cd Block-Spring4Shell
Запустите сервер
python frs.py
По умолчанию сервер будет работать на localhost на порту 8000.
Проверьте правило брандмауэра
Этот POC использует два основных правила для обнаружения и блокировки попыток эксплуатации CVE-2022-22965:
Правило 1: Блокировка шаблона полезной нагрузки
Правило 2: Блокировка подозрительных заголовков
Если срабатывает любое из правил, сервер отвечает статусом 403 Forbidden и возвращает JSON-сообщение: {"error": "Forbidden Access"}
Если ни одно из условий не выполнено, сервер отвечает с 200 OK и: {"message": "Request received"}
Для проверки брандмауэра используйте скрипт tnt.py. Он отправит 5 POST-запросов на скрипт брандмауэра.
python tnt.py
Сервер ответит: {"error": "Forbidden Access"}
Этот POC предназначен для образовательных целей и тестирования, чтобы продемонстрировать базовое правило брандмауэра, которое блокирует определенные векторы атак, нацеленные на уязвимость Spring4Shell. Он не является заменой полноценного решения брандмауэра в производственных средах.
MIT License