
이 프로젝트는 Flask를 사용한 웹 애플리케이션 방화벽(WAF) 시뮬레이션과 CVE-2017-5638용 취약점 검사기를 보여줍니다. WAF 미들웨어는 특정 패턴을 포함하는 HTTP 요청을 차단하며, 취약점 검사기는 Apache Struts 2 취약점(CVE-2017-5638)을 테스트하고 악용합니다.
이 프로젝트는 Flask를 사용한 웹 애플리케이션 방화벽(WAF) 시뮬레이션과 CVE-2017-5638 취약점 검사기를 시연합니다. WAF 미들웨어는 특정 패턴을 포함하는 HTTP 요청을 차단하며, 취약점 검사기는 Apache Struts 2 취약점(CVE-2017-5638)을 테스트하고 악용합니다.
server.py: 이 Flask 기반 웹 서버는 잠재적으로 악의적인 패턴을 포함하는 HTTP 요청을 차단하는 WAF 미들웨어를 포함합니다. vulnerable.py: 이 스크립트는 CVE-2017-5638 취약점을 확인하며 대상이 취약한 경우 임의의 명령을 실행할 수 있습니다.
server.py 스크립트는 특정 악성 패턴에 대해 수신 요청을 검사하는 WAF 미들웨어와 함께 Flask 웹 서버를 설정합니다. 차단 패턴이 감지되면 요청은 403 Forbidden 응답으로 거부됩니다.
Flask 설치: pip install flask 서버 실행: python server.py http://127.0.0.1:5000/에서 서버에 접속합니다.
vulnerable.py 스크립트는 주어진 URL이 CVE-2017-5638에 취약한지 확인하고 취약한 서버에서 명령을 실행할 수 있습니다.
필요한 라이브러리 설치:
pip install requests URL이 취약한지 확인:
python vulnerable.py --url http://example.com --check 취약한 URL에서 명령 실행:
python vulnerable.py --url http://example.com -c "whoami"
server.py 스크립트는 Flask를 사용한 WAF의 기본 데모 역할을 합니다. 실제 환경에서는 보다 고급 기술과 패턴을 사용해야 합니다.