De la inyección de SQL a la shell, material de presentación y entrenamiento

Los miembros de PentesterLab han creado un paquete con material para presentaciones y enseñanza basado en un laboratorio de prácticas sobre inyección de SQL. El objetivo es proveerte con una serie de diaspositivas y guía, además de una prácticas ya preparadas, para la enseñanza de ataques a aplicaciones web, explotando vulnerabilidades de inyección de SQL. El paquete lo han titulado Meetup pack for “From SQL Injection to Shell”. El curso en el que está basado es From SQL Injection to Shell (ISO del curso), el cual puedes hospedar tú mismo o usar la versión online (para éste necesita tener una cuenta PRO).
Leer más

Cadenas de texto "comprometedoras"

Filtra los datos de entrada y sanea la salida (filter input, sanitize output) esto es de Seguridad 101, posiblemente las premisas más básicas en cuanto a temas de seguridad informática. Aunque como bien decía estos son dos conceptos muy básicos, eso no quiere decir que sean fáciles de implementar. Sobre todo el filtrado de la entrada de datos. Para cada lenguaje (con los que yo he trabajado) existen librerías que te ayudan con esta ardua tarea e incluso algunos soportan al menos de forma parcial este tipo de funcionalidad en el propio lenguaje.
Leer más

Inyección de sesiones en el framework Play

Play es un framework que facilita el desarrollo rápido de aplicaciones web escritas en Java y/o Scala. Es una “copia” de Ruby on Rails, que tan famoso hizo a Ruby en el desarrollo web. Play Session Injection es otro de los magníficos tutoriales prácticos creado por los chicos de PentesterLab. El ejercicio se basa en explotar la forma en que Play manejaba las sesiones web. Play, actualmente ya no es vulnerable a este tipo de ataques, al menos, no de la forma en el que es explotado en este ejercicio, pero como siempre, podemos descargarnos una máquina virtual con todo preparado para hacer nuestras pruebas incluyendo una versión vulnerable de Play, así como un PDF que nos sirve de guía.
Leer más

Ejercicio práctico: desde la inyección de SQL hasta el terminal, versión PostgreSQL

¿Os acordáis de la entrada Ejercicio práctico: desde la inyección de SQL hasta el terminal? Pues el equipo de Pentesterlab, los creadores del origen de la misma, han vuelto a hacer los mismo pero con un pequeño cambio: la base de datos en el servidor a atacar es PostgreSQL. Aunque la idea de una inyección de sql es la misma, dependiendo de la base de datos con la que tengamos que lidiar, sí que hacen que los detalles del ataque sean distintos.
Leer más

Afina tu SQLi-Fu

Nada mejor y más seguro de probar y aprender nuestras tácticas y habilidades de intrusión en sistemas diseñados para ello y así no meternos en problemas. En este enlace podemos encontrar 3 retos de inyección de SQL. Dichos retos tienen dos variantes: A y B, siendo esta última algo más complicada que la primera. Pues nada, si no tienes nada que hacer, ya te puedes distraer un rato :)
Leer más

CTF #nullcon 2012: Web 5

En la quinta y última prueba de esta categoría nos encontramos con: Do You Have What IT Takes to Break into the World’s Most Secure Login System? El sistema más seguro del Login del mundo. Cuando vamos a la página de Login nos encontramos con: Y aunque en esta prueba no nos dan ninguna pista en el código de la página, si que nos la dan en el nombre de la “empresa” que creó esta pantalla de Login: MERASEQUEL.
Leer más

CTF #nullcon 2012: Web 4

En esta prueba hice el primo por un buen rato. La pregunta que nos hacían: Can You Get Me all the Data? Y nos daban un par de enlaces 2007 (http://www.nullcon.net//challenge/wlevel-4-data.asp?input=2007) y 2002 (http://www.nullcon.net//challenge/wlevel-4-data.asp?input=2002). Si pulsamos sobre el 2007 nos aparece: DR. A.P.J. Abdul Kalam 25 July 2002 TO 25 July 2007 Volvemos atrás y pulsamos sobre 2002 Shri K. R. Narayanan 25 July 1997 TO 25 July 2002 Vemos que cada texto tiene un fecha inicial y una final.
Leer más

Inyección de SQL con raw MD5 hashes

Acabo de leer en este post, sobre esta nueva técnica, al menos nueva para mi, sobre la inyección de código SQL usando raw MD5 hashes. Normalmente la autentificación (más común y sencilla) de un usuario en una aplicación web, suele lanzar una query de este tipo: SELECT usuario FROM usuarios WHERE password = (hash del password) Es decir, una vez hayamos introducido los credenciales, lo que realmente comparamos con “password” es su hash, porque tu no guardas los passwords en texto plano, ¡a qué no!
Leer más

Inyección de código SQL en los sistemas de tráfico

Cuando vi la foto por primera vez, me lo tomé con humor, pero después de meditar un poco esto podría ser perfectamente válido. La regla de oro para evitar la inyección de SQL es limpiar los datos datos de entrada. Claro cuando un piensa en la entrada de datos, piensa en un usuario detrás de un teclado, aunque los datos no provengan directamente de un formulario, un usuario puede esnifar tráfico, modificarlo y reenviarlo, etc.
Leer más

Kapersky ¿hacked?

Según aparece en hackersblog.org alguien que se hace llamar Unu, dice haber accedido a la base de datos de unas de las compañías más grandes de antivirus con una simple inyección de código SQL. Según dice el intruso, tuvo acceso a todo tipo de datos, tales como: usuarios, códigos de activación, lista de errores, administradores, tienda, etc. Hasta ahora, Kapersky ni ha confirmado, ni a desmentido la intrusión. Personalmente pienso que una compañía como Kapersky, que se dedica a velar por la seguridad de los usuarios, pueda cometer este tipo de errores, aunque hoy en día no pondría la mano en el fuego nor nadie.
Leer más