Uso el script de shell para comunicarme con una base de datos MySQL. MySQL soporta la especificación de consulta como un argumento de la cáscara, así:¿Cómo prevenir la inyección de SQL en la interfaz shell de línea de comandos de MySQL?
mysql my_db -B -N -e "select id from Table"
Sin embargo, si tengo un parámetro, que me gustaría utilizar en una consulta, ¿cómo puedo obtener la protección contra ataques de inyección?
Una forma ingenua es simplemente pegar valor de la variable a la solicitud, pero no es muy seguro:
mysql my_db -B -N -e "select id from Table where name='$PARAM'"
¿Hay algún truco o interfaces documentados para hacer una consulta de inyección segura desde la línea de comandos?
¿Está una aplicación web pasando estos 'params' al script de shell? Sugiero que busquen limpiar los datos en la aplicación web. – Jakub