jueves, julio 26, 2007

Cómo Comerse una Comilla (CCC)

Los que habéis venido a mis conferencias sabéis que cuando hablo de estas cosas siempre cuento un chiste que viene a decir :

"Acabo de hacer un curso por fascículos y ya soy programador de aplicaciones de comercio electrónico"

Este es el primer paso para empezar a cagarla en un proyecto. Ya hablamos del proceso de cagadas en el post de "Se me ha ocurrido una idéa cojonuda". Lo que me llama poderósamente la atención es que una gran compañía preocupada por la seguridad se coma una comilla de la forma más tonta y como no, a lo grande.

El 29 de Abril de este año le hicieron un XSS persistente a una web de Spectra que decoraron con la famosa foto del tartazo a Bil Gates [Defacement en Spectra]. Tras analizar lo ocurrido, se explicó que era un site muy antiguo, hecho por un tercero, etc... Es decir, vale, cagada de despiste.

El 27 de Junio, es decir, hace casi un mes, ha vuelto a ser hackeado otro minisite de Spectra, esta vez una aplicación de gestión de eventos en el reino unido y con un SQL Injection de los de CCC, es decir, de "Como Comerse una Comilla". Es en un parámetro que se envía por GET, sin filtrado ninguno y con muestra pública de los mensajes de error. Tienes la captura en la siguiente imagen:


Al final, lo que sucedió es que se descubrió un campo en una tabla de la base de datos que había detras que se utilizaba para mostrar la página y se actualizó con un bonito código de inyección HTML que decoraba la web como queda en esta página:


Al programador de esto, si no tiene una buena excusa... ¡Qué le castiguen con los artilugios de "We share your Pain"!.


Si queréis ver la explicación de como se hizo el ataque podéis bajaros el vídeo en alta calidad grabado por el descubridor explicando el proceso en la siguiente URL: RapidShare

Y puedes leer más de esta noticia en Zone-h.

9 comentarios:

  1. Si por cada fallo o bug grave se castigara a los programadores yo creo que no quedaría ni uno vivo jaja, ya tendrían el culo lleno de agujeros o estarían quedamos de tanta descarga eléctrica.

    A mi realmente lo que me jode es la frase que pones tu Chema de "He hecho un curso de 2 semanas por fascículos y ya soy programador de aplicaciones web", joder es que es muy triste. Es como los de aprende guitarra en 1 semana y te regalamos la guitarra pero con mas peligro

    Un Saludo

    ResponderEliminar
  2. Hi!
    A mi siempre me ha hecho mucha gracia ese chiste, pero es eso, un chiste. Desgraciadamente mucha gente termina la carrera y sigue sin tener ni puta idea (ojo: lo de la comilla no es ser un crá en seguridad, ni un h4x0r, es lo básico que todo el mundo mínimamente metido en este negocio debería saber).
    La titulación no es el problema, es la educación.

    ResponderEliminar
  3. Sip, como todo, la metodología con la que trabajas, el equipo que tienes, los sistemas de seguridad, el aprendizaje sobre la programación segura, etc.

    Si eres malo despues de dar un curso de 2 semanas yo lo puedo entender, pero despues de una carrera de 5 años :P, deberías de ponerte las pilas rápido o estás jodido hehe.

    ResponderEliminar
  4. Si eres malo después de 5 años, perfectamente puede ser porque no te hayan enseñado más que tonterías de los años 80 como me han pasado a mí en la USAL. Casi el 70% de los contenidos o eran totalmente teóricos o estaban desfasados. De todo lo que usaré hoy en día para trabajar, sólo me sirven las asignaturas de orientación a objetos e ingeniería, y algo de las de redes (poco, porque se centraban mucho, de nuevo, en la teoría, modelo OSI y todo eso).

    De todas formas, quizás parte de la culpa la tengan las empresas que no hacen mucho (o al menos yo no lo veo) por acercarse a los universitarios e ir introduciéndoles en las tecnologías que sí van a usar en el mundo real. Sé que Microsoft tiene el University Tour, pero aparte de ella no he visto a ninguna más pasar por mi facultad.

    ResponderEliminar
  5. Yo soy de la opinion de que la educación universitaria en cuestión de informática está un poco desfasada, no se utilizan las últimas tecnologías y ya va siendo hora de que se espabilen un poco en este sentido.

    Pero también es cierto que el objetivo de la universidad no es formar gente que sepan programar en esta o aquella tecnología, sino sentar unas bases para que el día de mañana puedas lidiar con cualquier tecnología que te pongan delante. Hay algunas universidades privadas que tienen asignaturas con las últimas tecnologías, pero luego no tienen la base necesaria para salir al mundo laboral.

    Aún así, alguna asignatura de seguridad informática no estaría de más en los planes de estudio.

    Un saludo para todos.

    Otro Usal-ero

    ResponderEliminar
  6. Hombre, yo particularmente el año pasado di una asignatura en la que en los laboratorios aprendimos a usar unas cuantas herramientas para hacer bastantes tipos de ataques, pero mas oriendos a espiar comunicaciones o como fortificar un sistema (unix, por supuesto).
    Yo no creo que programar aplicaciones web vaya a ser parte del temario de ninguna clase de la universidad, son las empresas las que suelen formar en esas tecnologías, y ellas sabrán que riesgos asumen.
    Mas que por programar de una manera u otra, esto ha de pasar por auditorías que aconsejen y descubran las vulnerabilidades. Incluso el mejor programador no suele tener tiempo para revisar todo un proyecto, y todos somos humanos.
    Y sobre todo hay que pensar que los ingenieros solemos tener una vida de programadores muy corta, la mayor parte de mis profesores dudo mucho que sepan php o asp, pero vamos, ni de lejos. Incluso los que he tenido de BBDD, que dominan magnificamente el modelo relacional, ponían caras raras cuando les preguntabas cualquier cosa sobre integración en web o vulnerabilidades.
    Si una empresa de desarrollo no audita sus aplicaciones ellos verán, pero está claro que un programador que solo sepa escribir código es un peligro.

    ResponderEliminar
  7. Realmente, seguridad informática, sería interesante una asignatura en quinto curso. Hay muchas universidades, si no todas, que tienen esa asignatura. El problema es que los que imparten muchas de las anteriores no saben programar y trabajar de forma segura, con lo que se dan malos hábitos de programación que con 1 asígnatura no se arreglan.

    Saludos!

    ResponderEliminar
  8. Yo la pillé en segundo... y en algunos momentos me alegro mucho de haberla pillado tan pronto, pero otros me arrepiento porque quizá ahora la aprovecharía mucho más.

    ResponderEliminar
  9. En el temario de la USAL no existe ni en la técnica ni en la superior nada que se parezca, remotamente, a una asignatura sobre programar de formar segura, ya sea Web, escritorio o cualquier otra forma de desarrollo que podamos imaginar.

    Pero yo, que álgebra y cálculo sé (o debería saber) la hostia, me habré comido 7 u 8 asignaturas relacionadas con el tema (incluidas optativas, porque no hay suficiente relacionadas estrictamente con el código para poder cubrir todas las necesarias).

    Viva la universidad más vieja de España ;)

    ResponderEliminar