Apache Example Servlet leads to $

https://infosecwriteups.com/apache-example-servlet-leads-to-61a2720cac20

¡Hola amigos, espero que estén bien durante estos días de cuarentena! Ha pasado bastante tiempo que blogueé sobre algo.

Entonces, ¡hay una vulnerabilidad interesante que encontré últimamente y quiero compartirla con ustedes!

Pero primero, ¡conozcamos qué son los ejemplos de Apache!

Los ejemplos de Apache Tomcat son parte de la página de instalación predeterminada de Tomcat que aparece justo cuando instala la aplicación por primera vez. Se recomienda eliminar esta página lo antes posible para estar más seguro.

Ruta: sitio.com/ejemplos

O site.com/tomcat-dir/examples

En primer lugar, me gustaría hacer referencia a otra publicación de blog de Rapid7:

Fuga de información de secuencias de comandos de ejemplo de Apache TomcatDescripción Los siguientes scripts de ejemplo que vienen con Apache Tomcat v4.x - v7.x y pueden ser utilizados por atacantes para obtener...www.rapid7.com

Tiene una lista de páginas potencialmente vulnerables a problemas de XSS. Aunque en mi caso no tuve tanta suerte :/

A mí :)

De todos modos, había 3 servlets disponibles:

  • Ejemplos de servlets

  • Ejemplos JSP

  • Ejemplos de WebSockets

Primero, busqué los ejemplos de Websocket.

Había una funcionalidad como se describe a continuación, que permitía conectarse a un servidor WSS (WebSocket) externo y posiblemente mostrar mensajes aquí. Pero dado que esto estaba en un subdominio aislado, lejos de la aplicación principal, CSWSH (Cross-Site-Websocket-Hijacking) no tendría mucho impacto aquí. Aún así, se inició una conexión externa aquí (explotable al conectarse a su propio servidor WSS)

Tuve una charla rápida con hakluke sobre el impacto, dijo lo mismo y aclaró mis dudas con algunas preguntas suyas y compartió algo de su valiosa experiencia: D.

¡Hacia adelante! Miré el JSP Servlet para encontrar algo más que XSS

:)

¡Hmmm! Interesante pero nada tan impactante. Es muy posible que haya vulnerabilidades en este Servlet JSP, pero no encontré ningún campo de entrada receptivo. ¡Tan, DESTRUIDO!

Luego, finalmente pasé a los Ejemplos de Servlets.

Primero, probé el ejemplo del contador de bytes, ya que tenía una funcionalidad de carga. Pero pero pero pero pero mala suerte :( No hay éxito aquí también. Si ustedes encuentran esto en la naturaleza, siéntanse libres de usar sus ideas, traten de obtener un exploit aquí y quizás también me hagan un ping) :P

Por último, me centré en el Ejemplo de sesión y el Ejemplo de cookie.

Ejemplo de sesiones

¡Interesante! Pero dado que está en un submarino aislado, no es tan impactante.

Luego, verifiqué el ejemplo de cookie y ¡fue dorado!

¡Las cookies del sitio principal se reflejaban aquí! Rápidamente pensé en un escenario, sobre cómo se puede explotar esto. Me vino a la mente el secuestro de clics. Rápidamente me dirijo a SecurityHeaders y ddddd como se esperaba: D

resume mi estado de animo :P

Escribí un código apresurado (que obviamente se puede mejorar aún más, jaja)

suficiente para demostrar impacto ;)
el billete de loteria de siempre jaja

[NOTA: puede reducir la opacidad al mínimo y agregar un elemento superpuesto para hacerlo más convincente. No lo hice por falta de tiempo/¿soy demasiado perezoso?]

¡¡¡Aquí viene!!! Ahora, simplemente pegue la cookie codificada en URL en un decodificador y ¡listo!

COOKIES == ROBADO

¡Gracias chicos por leer hasta el final! ¡Espero que les haya gustado!

Last updated

Was this helpful?