Inyección de código SQL en los sistemas de tráfico

Cuando vi la foto por primera vez, me lo tomé con humor, pero después de meditar un poco esto podría ser perfectamente válido.

La regla de oro para evitar la inyección de SQL es limpiar los datos datos de entrada. Claro cuando un piensa en la entrada de datos, piensa en un usuario detrás de un teclado, aunque los datos no provengan directamente de un formulario, un usuario puede esnifar tráfico, modificarlo y reenviarlo, etc. Al final es un usuario detrás de un teclado.

Ahora pongámonos en la situación del que haya programado la aplicación que recibe la foto de las cámaras de tráfico. En este caso no hay un usuario detrás de un teclado, no hay nada que esnifar o nada que el usuario pueda manipular o eso es lo que podría pensar en primera instancia dicho programador.

Supón que la aplicación recibe dicha foto, le pasa algún reconocedor de caracteres para coger los datos de la matrícula y hace una consulta a la base de datos de tráfico para buscar al propietario del vehículo y si el susodicho programador no ha tenido la precaución de limpiar los datos recibidos del módulo reconocedor de caracteres, ¡Boom! inyección que te crió.

Todo esto son suposiciones mías, pero lo que está claro es que este ataque podría ser válido.

Moraleja: limpia todos los datos de entradas, vengan de donde vengan, porque siempre habrá una mente más retorcida que la tuya y que encuentre alguna forma de alterar dichos datos. Trust no one!

Visto en Gizmodo.