SQL Injection Fundamentals

La empresa Inlanefreight le ha contratado para realizar una evaluación de la aplicación web de uno de sus sitios web públicos. A raíz de una reciente violación de la seguridad de uno de sus principales competidores, están especialmente preocupados por las vulnerabilidades de inyección SQL y el daño que el descubrimiento y la explotación exitosa de este ataque podrían causar a su imagen pública y a sus resultados financieros.

Te han proporcionado una dirección IP de destino y ninguna otra información sobre su sitio web. Realiza una evaluación completa de la aplicación web desde un enfoque de «caja gris», comprobando la existencia de vulnerabilidades de inyección SQL.

Encuentra las vulnerabilidades y envía una bandera final utilizando las habilidades que hemos visto para completar este módulo. ¡No olvides pensar fuera de lo establecido!

Pregunta 1: Evalúa la aplicación web y utiliza diversas técnicas para obtener la ejecución remota de código y encontrar una flag en el directorio raíz del sistema de archivos. Envía el contenido de la flag como respuesta.

  1. Empezaremos a probar payloads para ver con que podemos ganar acceso, ya que nos encontramos un formulario de login al entrar en la web:

  1. Conseguimos acceder con el payload:

  1. Ahora probaremos cuantas columnas devuelve a base de payloads:

  1. El máximo de columnas devueltas es 5.

  2. Realizaremos la enumeración de usuarios:

  1. Habiendo enumerado el usuario, vamos a enumerar sus permisos:

  1. Identificamos uno d elos privilegios que nos interesa que es FILE:

  1. Comprobamos si secure_file_priv está habilitado:

  1. Vemos que no retorna ningún valor, así que podemos escribir en cualquier ubicación del sistema.

  2. Haremos una prueba de escritura:

  1. Comprobamos que el archivo se ha creado con el contenido:

  1. Crearemos una web shell para la ejecución de código remoto:

  1. Mostraremos la flag a través de la URL y codificando en formato URL para que se ejecuten los comandos:

Última actualización