¿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.