
Spring4Shell 취약점(CVE-2022-22965) 악용을 탐지하고 차단하도록 설계된 규칙을 갖춘 POC 방화벽
이 프로젝트는 일반적으로 Spring4Shell로 알려진 CVE-2022-22965 취약점을 악용하는 공격을 탐지하고 차단하도록 설계된 개념 증명(POC) 방화벽 서버입니다. 서버는 수신되는 HTTP 요청을 검사하여 이 취약점과 관련된 알려진 악성 패턴과 일치하는 요청을 차단합니다.
Firewall Server Handler는 http.server 라이브러리를 사용하여 구축된 간단한 Python 기반 HTTP 서버입니다. 수신되는 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 라이선스