coldfusion sql-injection

coldfusion - Evite la inyección SQL sin usar cfqueryparam



sql-injection (2)

Tengo proyectos antiguos que contienen muchas consultas que no usan cfqueryparam para evitar la inyección de SQL. ¿Hay alguna forma de usar alguna función para hacer lo mismo en el nivel de Aplicación en cada campo de formulario?

Como principiante con un fondo de PHP, pensé que podría hacer un bucle de datos publicados y hacer un escape_string() o similar. pero no quiero que los datos se guarden en forma de escape. Creo que cfqueryparam no guarda datos en forma de escape. (No lo he probado todavía. Soy nuevo en CF.) De lo contrario, tengo que volver a guardar los datos en cada recuperación, lo que no quiero hacer. Quiero que la entrada se inserte y se recupere tal como está.

Básicamente, solo quiero que se haga a nivel de aplicación, así que no tengo que cambiar miles de consultas una por una en cada proyecto.

Entrada de muestra

it''s my book [email protected]''; delete database --


He estado en tres compañías diferentes que tenían que congelar un proyecto completo y asignar todos los desarrolladores para actualizar las llamadas a consultas y procedimientos almacenados. Algunos incluso tuvieron que contratar contratistas para hacer eso por un par de meses. Tendrás que morder la bala y hacerlo manualmente.

Puede aprovechar esta oportunidad para eliminar un montón de consultas redundantes, reemplazarlas por procedimientos almacenados y moverlas a CFC. Esto le permitiría volver a utilizar las consultas de una sola fuente y reducir la cantidad total de trabajo que tendrá que hacer.

Puede poner en funcionamiento un Servidor de seguridad de aplicaciones web (WAF) para manejar algunas solicitudes desde el exterior, pero no son 100%. Dependiendo de sus clientes, el código debe protegerse de la Inyección SQL sin el uso de un WAF.


Puede pagar FuseGuard por eso. Es un firewall de aplicación web ColdFusion y una de las cosas que filtra es el de los ataques de inyección SQL.

Estará más seguro mordiendo la bala y cambiando todas sus consultas para usar cfqueryparam, pero FuseGuard es más económico que arreglar una aplicación grande y ponerse en marcha rápidamente.

Cuando mi equipo se encontró con su situación (se apoderó de una aplicación existente con miles de consultas no protegidas), instalamos FuseGuard y luego comenzamos a abordar las consultas a medida que podíamos obtener el tiempo.

No tengo ninguna conexión financiera con FuseGuard, solo un cliente feliz.