viernes, 9 de noviembre de 2012

SQLi con comentarios y queries multilinea

En algunas oportunidades me he encontrado con inyecciones que al parecer no aceptaban ningún tipo de comentario. Cada vez que colocaba una forma de comentario la aplicación tiraba un error y la inyección fallaba. Con el tiempo y la experiencia me di cuenta que ello se debía a que la aplicación armaba "querys multilinea" ¿Qué es eso? Bueno, simplemente es cuando la consulta SQL incluye saltos de linea y tabulaciones. Los desarrolladores hacen esto usualmente cuando la query es muy larga y quieren mantener legible el código SQL.

Por ejemplo:

SELECT
    ID,
    TITULO,
    CONTENIDO,
    AUTOR,
    FECHA
FROM
    NOTICIAS
WHERE
    AUTOR = '$autor' AND
    FECHA = CURDATE()