SQL INJECTION
Es una prueba para ver si un sitio web o aplicación es vulnerable a inyección SQL. Si esto funciona, el atacante puede manipular la base de datos, leer datos confidenciales o incluso tomar control del sistema.
Este laboratorio contiene una vulnerabilidad de inyección SQL en el filtro de categoría de producto.
Puedes usar un ataque UNION para recuperar los resultados de una consulta inyectada.
Para resolver el laboratorio, muestra la cadena de versión de la base de datos.
Es importante aclarar que este tipo de ataque es utilizado para la versión de Oracle
En la mayoría de los motores de base de datos cada declaración SELECT debe especificar una tabla para seccionar un FROM
Ejemplo, "select * from"
Hay una tabla de ORACLE que se llama DUAL, por ejemplo: UNION SELECT 'abc' FROM dual
1. Utilizaremos Burn Suite para interceptar y modificar la solicitud que establece el filtro de la categoría producto
2. Ponemos nuestro Burp en modo intercept on y hacemos clic en GIFTs
En el siguiente Request pegamos la siguiente clausula '+UNION+SELECT+'abc','def'+FROM+dual--
Y le damos en Forward
4. Capturamos el siguiente GET y le asignamos el siguiente valor
'+UNION+SELECT+BANNER,+NULL+FROM+v$version--
+
→ Es una representación de un espacio en URL encoding.
UNION SELECT
→ Es una técnica que combina los resultados de dos consultas SQL. El atacante la usa para inyectar una nueva consulta que sea válida y devuelva resultados.
'abc','def'
→ Son valores de prueba. El atacante intenta ver si puede insertar datos arbitrarios en la respuesta.
FROM dual
→ En Oracle, DUAL
es una tabla especial de una sola fila. Se usa para ejecutar SELECT
sin tener que especificar una tabla real.
--
→ Comentario en SQL. Todo lo que venga después es ignorado, lo cual sirve para anular el resto de la consulta legítima.
No hay comentarios.:
Publicar un comentario