Inyección SQL desde archivos de importación de datos

1

Procesamos una gran cantidad de archivos por lotes y hacemos una importación inicial de archivos por lotes a través de LOAD DATA LOCAL INFILE call en MySQL.

¿Hay alguna herramienta / estándar por ahí que pueda escanear o ayudar a mitigar la inyección de SQL de este proceso de importación?

    
pregunta bobo baggins 30.07.2015 - 22:24
fuente

1 respuesta

1

Hay dos posibles problemas de seguridad al admitir la versión LOCAL de las declaraciones de LOAD DATA:

  1. La transferencia del archivo desde el host del cliente al host del servidor es iniciada por el servidor MySQL. En teoría, se podría construir un servidor parcheado que indicaría al programa cliente que transfiera un archivo de la elección del servidor en lugar del archivo nombrado por el cliente en la declaración LOAD DATA. Dicho servidor podría acceder a cualquier archivo en el host del cliente al que el usuario del cliente tenga acceso de lectura.
  2. En un entorno web donde los clientes se conectan desde un servidor web, un usuario podría usar LOAD DATA LOCAL para leer cualquier archivo al que el proceso del servidor web tenga acceso de lectura (suponiendo que un usuario pueda ejecutar cualquier comando contra el servidor SQL). ). En este entorno, el cliente con respecto al servidor MySQL en realidad es el servidor web, no el programa remoto que ejecuta el usuario que se conecta al servidor web.

Todas las fuentes que encontré MySQL , Symantec y Green SQL recomienda desactivar esta función. Sin embargo, si está utilizando en un entorno controlado (acceso restringido solo para usuarios de confianza) puede aceptar el riesgo.

    
respondido por el user69377 30.07.2015 - 22:56
fuente

Lea otras preguntas en las etiquetas