Entradas

Mostrando entradas de noviembre 6, 2014

Explotando la inyección SQL en Drupal 7.0 a 7.31 (CVE-2014-3704)

Imagen
Durante una auditoría de código, Stefan Horst de “SektionEins GmbH” encontró una vulnerabilidad de inyección SQL en Drupal 7 en la forma en que el mismo maneja las declaraciones preparadas. Un usuario malintencionado puede inyectar consultas SQL arbitrarias, y en algunos servidores, escribir un archivo PHP ejecutable en cualquier lugar del servidor. En el siguiente código se puede ver la parte del contenido de la función expandArguments(&$query, &$args) en la que se asume que es llamada con un array que no tiene llaves. El primer ejemplo es el código normal, que seleccionará dos usuarios con nombres en name_0 y name_1. El segundo ejemplo muestra la vulnerabilidad. La función expandArguments es llamada con un array que tiene claves que no son números enteros, que incorpora la llave en la consulta, tratándola como un valor.