Post131 nn

SQL Injection God Level ¿Mito o Realidad?


28428972 394770877650233 1145374104606474240 n
Sebastian Veliz

SQL Injection God Level  ¿Mito o Realidad?

https://i.pinimg.com/originals/63/e0/f4/63e0f49e6ad09732790967349d286864.jpg

El siguiente articulo tiene por objetivo poner a prueba un mito que se encuentra hace mucho tiempo en internet, se trata de la inyección SQL nivel Dios. El nombre es bastante llamativo y exagerado, no lo invente yo, simplemente estaba definido de esa manera hace años en internet, personalmente para mí, simplemente se trata de una inyección SQL en OCR.

Les cuento que hace mucho tiempo tenía ganas de hacer este experimento, primeramente quise hacer todo un prototipo con una placa Raspherry, sensores, un servo motor, OpenCV y Python, luego recordé que no tengo ni placa, ni dinero para invertir en este experimento, lo que me llevo a ponerme creativo y pensé, debe existir una forma de hacer el experimento, pero sin gastar dinero de mi bolsillo…. pasaron unos días y recordé que hace muchos años había hecho un proyecto de OCR con Javascript y dije, ya tengo el primer punto cubierto para la prueba de concepto y me gustaba la idea de hacer el proyecto WEB, ya que me va dar la oportunidad de compartirlo y que se ejecute en el browser del cliente, dicho lo anterior, me di cuenta que ahora me falta lo más importante “la base de datos”, sin la base de datos, no hay inyección SQL, así que nuevamente comenzó mi búsqueda y descubrí que existía una librería javascript  que permitía hacer consultas sobre SQLite, estaba emocionado, tenía la librería OCR y la base de datos, ahora solo me faltaban sustituir la simulación de los sensores y el servo motor abriendo un pórtico, en un principio me puse a estudiar animación con HTML5 y librerías de video juegos en Javascript, calcule que era mucho esfuerzo para algo tan sencillo, así que le di unas vueltas al asunto y resolví por lo más simple, buscar un GIF que se ajustara a lo requerido.

Una vez todos los materiales listos, me puse a programar y creo logre algo bastante decente para demostrar si se podía hacer una inyección SQL desde una placa patente. Los resultados fueron los esperados, logre hacer un bypass SQL y se comprueba una vez más, la importancia de validar todas las entradas y salidas de datos en cualquier lenguaje y tecnología.

Para los curiosos les dejo las librerías usadas:

https://github.com/antimatter15/ocrad.js

https://github.com/kripken/sql.js/

Funcionamiento

La interfaz WEB de la prueba de concepto quedo así:

Para la prueba se creó una tabla SQL con los siguientes datos

ID

PATENTE

1

XB Z333

2

AZ B217

3

NN C133

Y su código fuente es el siguiente:

Para hacer las consultas SQL se usó la siguiente función:

Y para leer la imagen por medio de OCR se utilizó la siguiente función:

En la siguiente imagen se ve la prueba de concepto y la inyección SQL funcionando:

Video PoC



Sin más que decir y espero les haya gustado Me despido hasta el próximo artículo.





Anonjulian2
Dr Jfrost .
ha comentado hace alrededor de 1 mes

Interesante prueba, demuestra que generalmente solemos tener mas confianza con las entradas "fisicas" como imagenes o sellos y no solemos sanatizar ese tipo de entradas

Artículos que te pueden interesar