martes, junio 10, 2008

Fríos Errores

En muchos de mis chistes malos hacía sorna de las webs con fallos de seguridad que eran especialmente bonitas, esas en las que se notaba que habían sido hechas por una persona que había realizado un "Curso de Diseñador de Páginas" en lugar de por un "Programador de Aplicaciones Web". Desde hace tiempo las empresas grandes diferencian entre el Programador y el Diseñador, es decir, entre la lógica y la presentación.

Una de las tecnologías para desarrollo de aplicaciones web que se extendió con dignidad fue ColdFusion y nunca le presté mucha atención. Eran pocas las páginas con .cfm que me ponían como trabajo para jugar con ellas. Sin embargo, jugando con una web que-no-diré-dónde-no-diré-quién cerca de mi, me di cuenta que los mensajes de error son superbonitos... y que la mayoría de los sitios los tienen ...¿activos para debugging?

Desbordamiento de Tipos

Tras ver que los errores son bonitos, con su barrita azul, y sus links a documentación, me dio por hacer un poco de GoogleHacking buscando por sitios con aplicaciones del tipo .cfm?id= y el resultado fue... una escabechina. La web que no se come un SQL Injection basado en Errores, se come un Blind SQL Injection.

Error ODBC en SQL Server en Windows

Además, como se puede ver en los mensajes de error nos da la consulta completa, con información extendida, no cómo en los errores ODBC de otras técnologías. En la captura de arriba se obtienen también el nombre del DSN, útil para hacer ataques de webshells y webtrojans (ya hablaremos de ellos), la ruta local y, lógicamente, el tipo de servidor dónde corre la web.

Con MySQL y Linux

En un ratito, salieron un montón de cosas de estas de colorines azules, y sin hacer ninguna cosa extraña. Oracles, SQL Servers, MySQLs y demás amigos en el mundo de las bases de datos. Parecía el paraiso de los SQL Injection y yo muerto de sueño... En fin, menos mal que hoy he descansado.

Y eso, por favor, que el diseñador diseñe y el programador programe.

Saludos Malignos!

9 comentarios:

  1. Buenas!! haber a las gentes del lugar... recomendariais a un humilde fracaso de programador la realización y preparación de la certificación CCNA?? llevo dos años sin tocar mucho a las redes y siempre me han atraido un montón pero en mi tajo solo me pegan por hacer fiascos de aplicaciones (hay gente pa tó) y quisiera ponerme las pilas de nuevo en trabajo, seguridad, implantación... de redes.

    Que, que opinais??
    S2!

    ResponderEliminar
  2. "solo me pegan"... no mejor, solo me pagan :-)

    Alguno quisiera pegarme, pero no me dejo mucho solo cuando me visto de latex }:-P

    ResponderEliminar
  3. Yo creo que el problema no es la tecnología, más bien es la gente que la usa, y como bien dices, en el curso equivocado no se adquiere el conocimento necesario para hacer las cosas bien. De todas formas, yo creo que debe ser del sol o algo así, me explico:
    Prueba a hacer googlehacking con .asp?id= .php?id= etc, pero haz la consulta de manera que te devuelva sólo los resultados en España, prueba la comilla en las n primeras url y anota cuantos a priori se lo tragan y te enseñan el error sql de turno.
    A continuación haces la misma búsqueda en tol web pero prueba sólo sitios "anglos", compara los resultados, es muy triste.
    Puedes probar las blind pero seguro que en la mayoría ni te hará falta.
    Un saludo.

    ResponderEliminar
  4. jeje esto del cold fusion es una mina :-)
    Casi todo lo que pruebo funciona en casi todos los sitios...
    Que horror.

    ResponderEliminar
  5. [quote]que el diseñador diseñe y el programador programe.[/quote]
    ¡Amén!

    ResponderEliminar
  6. @Maligno: Aún diría más, que el filosofo filosofee, pero que no programe...

    Hace días vi un comentario tuyo sobre porqué la gente no le pone pasión, no crees que es debido a que el que tiene vocación descubre que no sirve para nada más que para que le señalen con el dedo?.

    Por cierto, hablando sobre "developers" me hizo gracia nula la forma de referirse a ellos que tenía el amigo evangelista en el AseguraIT, pero bueno qué se podía esperar...

    Saludos.

    ResponderEliminar
  7. No se de que te sorprendes a estas alturas @Malevolo. Últimamente desarrollo con rails, que de serie trae validaciones sql imposible de saltarse si la colaboración del programador.
    Te sorprenderías lo amables que son algunos programadores.

    ResponderEliminar
  8. @anonimillo, no creo que les vayan a señalar con el dedo hombre. ¿por qué? Yo no daba ninguna respuesta a lo de la perdida de pasión y sí me hacía muchas preguntas sobre por qué pasa esto que he visto en muchos entornos.

    En cuanto a lo de Barna... estoy contigo en que se pasó un poco, pero su intención fue jocosa, de hecho, Palako es un developer de cojón de mico y sabía que era eso. Por suerte o por desgracia, los fallos o caen del lado de la configuración (a por el IT!!) o del lado del sw (a por el developer!!!). Cuando la cagada fue el gusano que usaba sa sin password la cagada fue de los IT.

    @Guillermo, los he conocido muuuuuy amables... ¿cuanto lo son estos?

    Saludos!

    ResponderEliminar
  9. yo estoy con @anonimillo... sí que te señalan con el dedo. Es algo así como decir "mira ese que no ha descubierto la realidad de la vida". Y hay gente (informáticos) a la que su curro no le mola nada de nada... hace poco una chica de mi curro me dijo que preferiría trabajar en algo más útil, como... cocinera (flipando me quedé).

    Por cierto @tonio, que ella trabaja en movidas de redes...

    ResponderEliminar