miércoles, febrero 21, 2007

El Cucharón

De pequeño he tenido siempre una imaginación desbordante, así que cuando me aburro me da por pensar en chorradas y tonterías. Tras ver al señor Tarasco en la sesión con su USB Bomb me dije: Keep it Simple, Subnormal, y empecé a pensar alguna forma chorra de vulnerar alguna web que yo no suela probar de forma común.

A ver, si yo fuera un berzas ¿qué pensaría que es una buena idea para hacer una web?

La respuesta es difícil, hay que meterse en la piel de otro, pero si te pones a pensarlo, cada uno va con sus movidas. ¿Recordáis lo de Bulma? ¿O el Getafe? Ideas brillantes como pasar partes de la consulta SQL, o la consulta entera.

Otros como Java, pasan textos que van a imprimir en el HTML en la web o cargan páginas en cliente que pasan por parámetros, ideales para hacer XSS.

No vale, hay que cambiar la pregunta. Veamos. A ver qué os parece el siguiente planteamiento.

¿Qué sería una gran cagada? La respuesta me vino rauda con una de las mejores demos que he hecho nunca, bajarse el shadow de un Linux a través de una aplicación web. Esto implica muchas cosas en la implantación de la aplicación, desde la configuración del servidor hasta el desarrollo del código.

¿Habrá muchos subnormales que te den archivos del servidor donde corre una app?

Busquemos pues a todos los que tienen algún “download.php?file=” en su web y en file vaya como parámetro una ruta de un fichero. Intentemos cambiar ese fichero por /etc/passw para ver si el programador accede a los ficheros a través del filesystem en lugar del webfilesystem, probemos a descargar el propio download.php a ver si puedo ver el código del fichero porque lo esté leyendo como un stream en lugar de pedirlo al webserver, intentemos con rutas relativas e intentemos lo más difícil, bajarnos la SAM del Server si es un Windows.

Vaya, vaya. ¿Y si en lugar de una ruta lleva un id? mmm. ¿Tú que crees? Pues nada, un poco de SQL Injection para conseguir que la consulta del programador devuelva el sting con la ruta que deseamos y listo.

Conclusión: Mete la cuchara hasta el fondo y tráete todo, el mundo te lo oferta con cariño.

6 comentarios:

  1. Muy divertida tu presentación de hoy, por fin he podido asistir a una de tus charlas, espero que no sea la última.

    El que te ha asaltado en el bar.

    ResponderEliminar
  2. me ha gsutado muxo tu rpesentacion en monlau, a sifdo muy iunteresante

    ResponderEliminar
  3. Gracias a ambos!

    Uno de la de por la mañana y otro de la de por la tarde. Je,je!.

    Gracias, Gracias. Me tenéis muy consentido!! ;)

    ResponderEliminar
  4. Bienvenido a 1989 y las vulnerabilidades de Directory Transversal, creo que son las más antiguas que conozco en entornos web... No deja de tener gracia que las bautices con nombres de esos que piensas que son graciosos.

    ResponderEliminar
  5. Hola anónimo,

    creo que no es exactametne lo mismo. El directory Transversal es saltarse las limitaciones del servidor web para acceder a directorios no permitidos. Esto es algo parecido pero para las descargas. La idea es usar un sql injection para hacer un directory transversal en una descarga de un fichero. Es un nombre chulo. Me gusta llamarle el cucharón. Directory Transversal es demasiado general.

    Había pensado en llamarle Analberto o Pirriaco, pero cucharón me pareció divertido.

    Saludos a 1989!

    ResponderEliminar
  6. es verdad, en uno de los sitios manipulando el parametro file puedes descargar los archivos php de la aplicacion, incluido archivo configuracion con pass de mysql, configuracion aplicacion, etc.

    ResponderEliminar