Vulnerabilidades en la Web de P.C. Green (Parte V)

Después de unos meses con el tema de las vulnerabilidades en la web de P.C. Green abandonado, continuamos con la quinta entrega. Si te perdiste las anteriores, las tienes accesibles desde aquí.

Me ha alegrado ver que la web es totalmente nueva, tanto a nivel de diseño, como a nivel de tecnología.

La valoración del nuevo diseño, es positiva, mucho mejor que el anterior, pero regular comparado con lo que debería ser.

A nivel técnico, se usa ahora PHP en vez de ASP, lo que la hace más resistente a ataques de SQL Injection, de serie.

Parece que se han tomado mis artículos en serio, y todas las deficiencias comentadas han quedado resueltas. De hecho, he tardado casi media hora en encontrar alguna:

http://www.pcgreen.com/wac/index.php?se … m=CONTACTO.

Como véis, sería un buen punto de entrada para un ataque de Phising.


Vulnerabilidades en la Web de P.C. Green (Parte V)

11 comentarios en “Vulnerabilidades en la Web de P.C. Green (Parte V)”

  1. Hola, es la primera vez que leo tu blog 🙂

    Bueno, me llamó la atención el título del mensaje, así que intenté probar ciertas cosas básicas en la página en cuestion…

    No leí las anteriores entregas (por pereza :p), el hecho es que: IMHO, todavía siguen teniendo muchas fallas respecto a la forma en que está programado…

    Aquí una de las cosas que pude averiguar:

    Creo q deberían controlar dichos errores, configurar bien PHP (error_reporting(0); podría ayudar…)
    ________
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/egg/www/wac/comun/inc/funciones.php on line 128

    Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /usr/egg/www/wac/comun/inc/funciones.php on line 142

    Esto creo que es un poco más grave, el escribir la consulta SQL ante un error al ejecutarla (SQL Injection?)…
    ________
    SELECT c.id,c.idnumpadre,ch.texto FROM categorias c LEFT JOIN categorias_ch ch ON c.codigo = ch.id_ch AND ch.id_idi='esp' WHERE c.id=p92 AND c.activo='1'

    Saludos

  2. Creo q deberían controlar dichos errores, configurar bien PHP (error_reporting(0); podría ayudar…)

    Creo que no es aconsejable omitir los mensajes de error/warnings en entornos de producción.

    Omitirlos provoca un retraso importante en la detección de errores, con todo lo que eso conlleva.

    Esto creo que es un poco más grave, el escribir la consulta SQL ante un error al ejecutarla (SQL Injection?)…

    Con eso llevas razón, pero estarás deacuerdo conmigo en que no hay ninguna realción directa entre pintar un select y colar sql injections, no?

    Me parecen opiniones bastante catastrofistas,

    Mi humilde opinión

  3. Javier Gutiérrez Chamorro (Guti)

    Bueno, sabiendo el SELECT que se ejecuta, tienes muchas pistas sobre la estructura de la tabla a la que se ataca, por lo que facilita que hagas las queries adecuadas usando SQL Injection.

  4. Si bien no conocia tu blog, he llegado a traves de http://www.x-flash.org, me han gustado tus articulos. Si bien ya han corregido todas las incidencias q tu comentabas, me ha gustado la contestacion por parte de la gente de pcgreen XDDD

    Ante el link: http://www.pcgreen.com/wac/index.php?se … Cbr%20/%3E
    La respuesta de pcgreen:
    http://www.pcgreen.com/wac/index.php?g3t4j0b

    O si lo traducimos: Get a job , buscate un trabajo XDDDD

    Al menos se lo han tomado con sentido del humor xDDDD

    Bueno decir sobre pcgreen, q he sido cliente durante años, los primeros era una gran tienda, despues y por la cantidad de clientela, cada vez han ido cuidando menos a sus clientes (total, le sobran, o eso deben haber pensado). Yo ahora voy a cualquiera de las tiendas cercanas, como pricoinsa (algo mas cara) q al menos no hay tanta cola.

  5. Mirar que bug he encontrado:
    http://www.pcgreen.com/wac/inc/net-redi … rop=100000

    Esto lo que hace es una imagen tipo preview donde la variable prop debe ser la proporcion. Simpre la llaman con un valor 100, pero si le pasas un numero mayor, resulta que la genera en tiempo real (no hace cache) con lo que dejas el server loco!!!.

    Sigo buscando.

Deja un comentario