sábado, enero 29, 2011

Examínate este fin de semana

A mís pobres y sufridos alumnos del Master Universitario de Seguridad en Tecnologías de la Información y las Comunicaciones les he hecho sufrir un poco ayer con un "bonito exámen". Si te apetece probar, dale caña.

1.- Describe en que consiste un ataque XSS no-persistente, un entorno en el que se pueda encontrar esta vulnerabilidad y cómo puede ser utilizado para distribuir malware.

2.- Describe tres medidas que conozcas para evitar que los ataques de XSS no persistente tengan efecto.

3.- Describe en qué consiste un ataque de Cross-Site Request Forgery.

4.- Si una aplicación muestra un mensaje de Error ODBC de un servidor SQL Server, ¿qué sistema de ataque puede utilizarse para extraer información de la base de datos?

5.- Se ha encontrado una vulnerabilidad en una aplicación web de SQL Injection en la que si se pone una inyección SQL correcta sale la página de una noticia y, si se comete algún error sintáctico o semántico, el programador ha capturado la excepción y muestra una página genérica de error. Si se quiere realizar un ataque SQL Injection de tipo inboud, describe el proceso que habría que seguir para construir la inyección correcta.

6.- Dentro de los ataques inboud, explica en qué consisten los ataques de Serialized SQL Injection.

7.- Una aplicación web en PHP con MySQL es vulnerable a SQL injection pero no se pueden realizar ataques inbound y los errores de base de datos están capturados. Se quiere extraer la versión de mysql realizando un ataque de Blind SQL injection. Describe el proceso que habría que realizar.

8.- Describe en qué consisten los ataques de Time-Based Blind SQL Injection y cómo pueden realizarse.

9.- En una aplicación web, la aplicación autentica a los usuarios con un árbol LDAP, para ello, cada usuario tiene un atributo uid y un atributo password. El programador ha filtrado el * y utiliza la función crypt antes de usar la contraseña en una consulta AND LDAP como ésta.

V_username: valor de usuario introducido en la página web por el cliente.
V_passwd: valor de contraseña intoducido en la página web por el cliente.
C_passwd =crypt(v_passwd)

Consulta que da acceso o no a la aplicación:
(&(uid=+v_username+)(password=+c_passwd+))

¿Con qué inyección LDAP conseguirías entrar si la se está utilizando un árbol LDAP basado en OpenLDAP?

10.- En una aplicación web se sabe que el parámetro id se inyecta en una consulta AND LDAP. Se quiere extraer el valor del atributo objetclass de todos los objetos afectados por esta consulta. ¿Cómo realizarías el proceso con un ataque Blind LDAP Injection?


Si no eres capaz de hacerlo y te gustaría saber como van estas cosas, yo te enseño, como "amor y abrazos" en el próximo RootedLab que voy dar de Técnicas de Inyección en Aplicaciones Web. Y si se te ha quedado corto, puedes hacerte el exámen del año pasado.

Saludos Malignos!

7 comentarios:

  1. Suspendo fijo, vaya nivel....

    ResponderEliminar
  2. @anonimo, eso mismo pense yo el año pasado... pero en verdad tampoco es para tanto, es bastante sencillo si se estudia un poco

    ResponderEliminar
  3. Si estudias lo pasas! creo yo jeje!

    ResponderEliminar
  4. Soy aficionado a la informatica & aunque sea un poco pequeño teniendo unos 15 años me informare lo màs que pueda sobre el tema para hacer el examen :)

    Saludos & Suerte

    ResponderEliminar
  5. Yo si paso el examen =D ... pero con algo de trabajo para hacer memoria.

    Ahora que si es a libro abierto, o más bien con el blog del lado del mal abierto ... regalado.

    Presisamente todo eso que está en el examen lo he aprendido aquí en muy buenos artículos que sueles publicar.

    saludos

    ResponderEliminar
  6. Chema,se me olvido pasarte la factura por encenderte el proyector...a ver como lo arreglamos,jajaja :-)

    ResponderEliminar
  7. mil veces más sencillo que el del año pasado! robo!!!

    ResponderEliminar