domingo, 15 de junio de 2025

03 - Lab: SQL injection attack, querying the database type and version on Oracle



    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

    





3.    Vamos a llegar a la siguiente pantalla y hacemos clic en GIFST

        


4.    Capturamos el siguiente GET y le asignamos el siguiente valor        

                       '+UNION+SELECT+BANNER,+NULL+FROM+v$version--


        Podremos observar que nos devuelve información de la versión de la base de datos.,

        


       Con esto terminado de completar el Laboratorio

        

Desglose:

  • + → 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.


  • Saludos!






    No hay comentarios.:

    Publicar un comentario

    05 - Lab: SQL injection UNION attack, determining the number of columns returned by the query

      Lab: SQL injection UNION attack, determining the number of columns returned by the query Para el siguiente laboratorio debemos modificar e...