Como proyecto de final de master de seguridad, se planteó analizar una de las vulnerabilidades top 10 de
OWASP, en concreto la vulnerabilidad es conocida como, Falla de Restricción de Acceso a URL.
Cómo resultado de este análisis se ha desarrollado una herramienta con el objetivo servir de
ayuda en auditorias de caja blanca para detectar esta vulnerabilidad.
Debido a la dificultad de poder detectar de manera automática cuando esta previsto restringir
el acceso y cómo saber si este ha sido restringido correctamente, unas veces se verá un
mensaje de error, otras un mensajito más amigable dentro del interfaz de la propia aplicación
web y otras veces, las que menos, una pantalla en blanco. Se ha optado por otra solución a
nuestro entender más lógica. La herramienta muestra para cada url los datos estadísticos
más básicos al emplear cada perfil: número de letras, con y sin blancos, y número de líneas. Y
permite para cada url acceder a una ventana comparativa en la que contrastar las diferencias a
mayor profundidad entre parejas de perfiles.
La herramienta, DoRodri, ha sido desarrollada en .Net y se encuentra bastante estable aunque
seguramente sujeta a algunos bugs.
Para su funcionamiento es preciso obtener previamente:
- Un fichero con las urls a analizar: se puede obtener de programas como el OWASP ZAP con la opción “exportar todas las urls a aun fichero”.
- Un listado de cookies de identificadores de sesión validos para los distintos perfiles a analizar. Una vez obtenido lo anterior es hora de pasárselo al programa para que analice la web.
Una vez obtenida la información por parte del programa empieza el trabajo humano, hay que comparar para cada url, o las que el analista estime oportuno, si el control se realiza de manera correcta.
Al pulsar sobre cada miniatura se muestra una ventana comparativa en la que muestra la
respuesta visual que arroja la aplicación web para cada perfil. Adicionalmente en la parte
inferior se aprecian las estadísticas sobre el número de líneas y caracteres, y en la superior
se realiza una comparación a nivel de código indicando el grado de diferencia que hay entre
los dos códigos html mediante el cálculo del factor de distancia de Damerau–Levenshtein.
Entendiendose como tal al número mínimo de operaciones requeridas para transformar una
cadena de caracteres en otra. Se entiende por operación, bien una inserción, eliminación,
sustitución o transposición de dos caracteres.
Esta información estadística permite para perfiles con privilegios cercanos, en los cuales la
interfaz es muy similar, obtener datos bajando al nivel de código, sobre el grado de similitud real que hay entre ambos.
Para obtener la herramienta y más información se puede acceder a la página del proyecto:
Dirección de la herramienta: http://failuretorestrictaccess.wordpress.com/
Todo comentario, sugerencia o crítica será bienvenida.
¡Gracias!
Autores:
Fernando Andina.
Fernando Andina.
José Miguel Soriano.
2 comments :
Gracias a vosotros por la herramienta y por publicar el código.
Felicidades por el proyecto!
Saludos
Muy interesante, yo tb estoy haciendo este master pero en catalunya y me has dado buenas ideas para el proyecto... aunk yo voy un poco más lento que tu por lo k veo y lo estoy cursando en 2 años :)
gracias,
Carlos Fouz
Publicar un comentario