lunes, marzo 01, 2010

Examínate por pasar el rato

Este fin de semana, con motivo de mi participación en el Master de Seguridad Informática de la Universidad Europea de Madrid, examiné a mis alumnos de Hacking Web, el módulo que he estado impartiéndoles desde Diciembre.

Supongo que muchos, años después de estar por aquí, podríais hacerlo con los ojos cerrados, así que he pensado en examinar virtualmente al que le apetezca. Si quieres hacerlo, me mandas un mail con tus respuestas que luego publicaré las mejores.

Si ves que no aprobarías, tal vez será hora de ir reservándote alguna plaza en el RootedLab que voy a dar de estos temas los días 15 y 17 de Marzo o apuntarte al Master el año que viene ;)

Dada la siguiente estructura de tablas:


1.- Supongamos que en la siguiente URL http://www.web.com/autores.asp?autor=maligno se descubre que es vulnerable a SQL Injection porque se puede ver el mensaje de error ODBC de una base de datos SQL Server. ¿Qué tipo de ataque se podría realizar para extraer la lista de usuarios y contraseñas usando los errores ODBC? Describe el procedimiento con las sentencias que habría que ejecutar.

2.-¿Qué sentencia habría que realizar en caso de querer meter un ataque XSS que metiera un script Javascript siempre que se visualizara una noticia? Se asume que hay permisos necesarios.

3.- Suponiendo que no se viera el mensaje de error ODBC pero que la URL puesta fuera vulnerable a SQLI y sacara la lista de todas las noticas escritas por ese autor durante el último mes. ¿Cómo sería el mismo ataque que en la pregunta 1?

La consulta que se ejecuta en esa página es:

Select noticias.fecha, Noticias.texto, Usuarios.nombre from Noticias, Autor, Usuarios where noticas.id_autor=autor.id and Autor.usu_id=usuarios.uid

4.- Describe que es un ataque XSS persistente y qué se podría realizar un atacante si encontrara una web vulnerable a este fallo.

5.- ¿En qué consisten las técnicas de Serialized SQL Injection?

6.- ¿En qué consiste un ataque de Path Transversal? ¿Cuál es la vulenrabilidad? ¿Cómo puede ser descubierta una vulnerabilidad de este tipo a través de Google Hacking? Pon ejemplos.

7.- Escribe un único filtro LDAP Search que devuelva el atributo cname de los objetos que cumplan la siguiente condición:

- Pertenecen a la UO empresa y tienen un salario mayor que 20.
- Tienen un cargo de jefe o director y no han superado los 30 años de edad.

Sólo se debe hacer un filtro para las dos condiciones. La consulta se lanza desde el nodo principal y de forma recursiva.

8.- En una aplicación web el programador realiza la siguiente secuencia de comandos descrita en pseudocódigo

- v_password=GET (PASSWORD)
- v_users= GET (USER)
- PASWORD_Cifrada=Crypt(v_PASSWORD)
- usuario=(&(uid=’+v_user+’)(webpass=‘+PASSWORD_CIFRADA+’))(uid)


Suponiendo que en el árbol LDAP hay más de 1000 usuarios y no hay política de fortificación de contraseñas, describe algún método que permita conseguir acceso con alta probabilidad.

9.- Dada el formulario de login de una web, vulnerable a (Blind) LDAP Injection, describe como conseguirías acceso con el usuario admin si el comodín * está filtrado, la password se cifra tras ser introducida y se está utilizando un árbol OpenLDAP.

Login: v_uid
Password:v_password


10.- Describe como se extraería el valor de un departamento en ataque AND Blind LDAP Injection sobre esta URL http://www.web.com?obj=a que cuando devuelve true se obtiene la descripción y el nombre del objeto A.

Saludos Malignos!

10 comentarios:

tmeto dijo...

Pues esta curioso el examen y el contenido del master también....lastima que este en primero de carrera aun....una pregunta con la excusa del post, he estado mirando la pagina de rootedlabs, tenéis ya fechas de los siguientes cursos tras los de finales de marzo??

Saludos.

Chema Alonso dijo...

@aser1, nope, el año que viene habrá otros digo yo.

Saludos!

Anónimo dijo...

http://www.web.com?autores.asp=maligno

¿seguro que puede ser vulnerable a SQL injection? ¿no debería ser algo así como

http://www.web.com/autores.asp?autor=maligno

?

;)

Chema Alonso dijo...

@anonimo, fixed!!

ShadowChild dijo...

Ea Chema donde se pueden encontrar los tutoriales para poder dar el examen? me parece que me he perdido de algo :(

Pablo Ezequiel Jasinski dijo...

Muy buen artículo la verdad me gusto mucho, un gusto pasar por blogs informáticos como el mio. Saludos

Gangrolf dijo...

A ver si te pasas a la uni pública, que los pobres no podemos matricularnos en estos masters... :(

Anónimo dijo...

O_o super interesante el examen pero para lo que recién no enteramos que este blog existe, como ponemos ponernos al día para rendir tu examen? Algun documento o tutorial de ayuda?

Chema Alonso dijo...

@anónimo,

Lista de artículos

Saludos!

CDM dijo...

Uis, me las voy a tener que apuntar a ver si se repite alguna en el examen del año que viene (que salvo causa de fuerza mayor me tendrás por clase xD)

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares