Comprobar si una aplicación web utiliza componentes vulnerables conocidos

4

He estado investigando sobre las 10 principales vulnerabilidades de las aplicaciones web de OWASP, una de ellas es usando componentes con saber vulnerabilidades . Estoy un poco confundido aquí, ya que no entiendo cómo podría verificar una aplicación web para esto.

Tengo entendido que ya habría tenido que encontrar una vulnerabilidad en el sitio y explotarla con éxito para descubrir si hay otras vulnerabilidades conocidas en el sitio.

Entonces, mi pregunta es, ¿cómo puede verificar si una aplicación web (como el atacante) tiene vulnerabilidades conocidas sin haber explotado la aplicación con éxito? ¿Es esto posible?

    
pregunta Gyzo 22.11.2017 - 22:46
fuente

3 respuestas

2
  

¿cómo puede verificar si una aplicación web (como el atacante) tiene vulnerabilidades conocidas sin haber explotado la aplicación con éxito?

Hay varias formas de tomar las huellas digitales de una aplicación web sin tener acceso privilegiado.

Una forma común de comenzar es identificando las versiones de las bibliotecas, los marcos y sus respectivos complementos. Esto se puede hacer al inspeccionar el código fuente, los encabezados, adivinar las rutas de los archivos Léame, etc. Luego verificará si estas versiones están actualizadas o si existen vulnerabilidades publicadas en la web.

Como ejemplo, tome el blog de Facebook https://newsroom.fb.com/ . Al mirar a través del código fuente, encontrará cadenas que indican que están usando Wordpress, por ejemplo:

<meta name="generator" content="WordPress.com" />

Sabiendo que emplean Wordpress es posible que desee buscar complementos populares que se sabe que son vulnerables. Por ejemplo, parece que están utilizando el complemento AMP , porque hay un readme.txt en:

https://newsroom.fb.com/wp-content/plugins/amp/readme.txt

Este archivo Léame revela que usan la última versión 0.5.1 , por lo que el complemento parece estar actualizado.

Otro ejemplo sería https://stackoverflow.com , donde puedes descubrir qué versión de jQuery usan:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

Aunque 1.12.4 no es la versión más reciente, parece que no hay fallas explotables inmediatamente.

Como puede ver, la comprobación de una aplicación en busca de componentes vulnerables conocidos no requiere necesariamente un acceso privilegiado, ya que las versiones y configuraciones a menudo se filtran.

    
respondido por el Arminius 23.11.2017 - 00:36
fuente
1

¿Por qué tienes que ser el atacante? El Top 10 de OWASP está destinado a los desarrolladores de aplicaciones y sus equipos de control de calidad.

Si está buscando algo para los examinadores de lápiz de caja negra, encontrará la Guía de pruebas de OWASP

La forma más fácil de detectar A9 utilizando componentes con vulnerabilidades conocidas es una herramienta como Comprobación de dependencia OWASP que se integra en el entorno de compilación del producto.

    
respondido por el Mike Ounsworth 23.11.2017 - 01:03
fuente
0

Además de excelente respuesta de Arminius , hay un par de otras formas de ver esto.

Primero, si está utilizando un componente con vulnerabilidades conocidas y está expuesto de alguna manera, entonces eso es todo lo que necesita, ya que puede probarlo y explotarlo directamente. Algunos ejemplos recientes destacados han sido las numerosas vulnerabilidades de análisis en ImageMagick que se podían explotar directamente en sitios que permitían la carga arbitraria de archivos y luego intentaron analizar esos archivos con versiones vulnerables de ImageMagick. O las vulnerabilidades del algoritmo "ninguna" que estaban presentes en varias bibliotecas JWT populares.

Sin embargo, quizás lo más importante es que recuerde que el enfoque principal para el Top 10 de OWASP no es en ningún caso los probadores de penetración. Hay una guía de pruebas OWASP para ellos. El Top 10 es para desarrolladores, para ayudarlos a pensar de manera proactiva sobre los problemas que sus aplicaciones pueden tener. Es una guía mucho más sencilla cuando se ve desde esa perspectiva, que consiste en saber qué dependencias y componentes está utilizando su aplicación, hacer el trabajo de la pierna para asegurarse de que no tienen vulnerabilidades conocidas y reemplazar cualquiera que lo haga, y en el modo de mantenimiento, no se olvide de lo que está usando su aplicación para que cuando se descubran nuevas vulnerabilidades, pueda reaccionar a ellas antes de que lo muerdan como uno de los bits de vulnerabilidades de Apache Struts Equifax.

    
respondido por el Xander 23.11.2017 - 01:12
fuente

Lea otras preguntas en las etiquetas