explotación de lectura arbitraria de archivos de la aplicación Tomcat

0

En la reciente prueba de lápiz de caja negra de una aplicación web alojada en CentOS, encontré una vulnerabilidad que me permitió capturar el contenido de los archivos (tipo de inclusión de archivos) ubicados dentro de la ruta principal de Tomcat .

En el escenario clásico, intenté leer /etc/passwd pero no pude recuperar el contenido. Parece que Apache Tomcat prohíbe que el servidor web lea fuera de la ruta de la aplicación web. El parámetro vulnerable ubicado en la solicitud GET y en la aplicación agrega .jsp a eso e intenta leerlo.

Por ejemplo , si navegamos a http://site.com/abc.jsp?param=en , la aplicación intentará cargar el archivo /some/folder/somefile_en.jsp desde el sistema de archivos. Si falla, devuelve HTTP status code 500 con java.io.IOException stack-trace.

Para omitir la restricción .jsp , agregué ? al final del parámetro vulnerable como este http://site.com/abc.jsp?param=asdasd_asdasd/../../../../META-INF/MANIFEST.MF? . Solo pude leer estos archivos:

  • /META-INF/context.xml
  • /META-INF/MANIFEST.MF
  • /WEB-INF/web.xml

No sé qué otros archivos puedo leer (porque no tengo una lista fuzz para aplicaciones java).

P: ¿Podría darme una lista fuzz para encontrar otros archivos confidenciales en el sistema de archivos o podría sugerirme otros vectores de ataque?

P.S. Podría enumerar los nombres de archivos y directorios en función de la respuesta HTTP. Si el archivo no existe, aparece este tipo de mensaje de error:

    
pregunta puni aze 20.11.2018 - 00:29
fuente

1 respuesta

0
  

¿Podría darme una lista fuzz para encontrar otros archivos confidenciales en el sistema de archivos?

Como usted ya menciona, It seems, Apache Tomcat forbids web server from reading outside of web app path. , y eso es bastante común. Podría probablemente probar otros archivos predeterminados de Tomcat como se describe en fuzz list proporcionó mi SecList .

Mencionaré algunas:

  • /conf/server.xml/
  • /WEB-INF/web.xml
  • /manager/deploy?path=foo
  • /webdav (marque this )

También, algunos artículos útiles para ayudarte con LFI:

Después de eso, y si es posible , debe considerar buscar los archivos más comunes de las distribuciones de Linux, como se describe en este artículo .

  

... ¿o podría sugerirme otros vectores de ataque?

Para Apache Tomcat, puedes probar el último CVEs que existe y para CentOS aquí , but debería realmente continuar con la recopilación de información, porque el sistema operativo y el servidor web no son una investigación completa (al menos, es un punto de partida, ¯\_(ツ)_/¯ ).

Tenga en cuenta que la recopilación de información en las pruebas de penetración es el paso más valioso para continuar.

    
respondido por el mike 22.11.2018 - 09:10
fuente

Lea otras preguntas en las etiquetas