Pruebas de seguridad: inyección

La técnica de inyección consiste en inyectar una consulta SQL o un comando utilizando los campos de entrada de la aplicación.

Aplicación web - Inyección

Una inyección SQL exitosa puede leer, modificar datos confidenciales de la base de datos y también puede eliminar datos de una base de datos. También permite al pirata informático realizar operaciones administrativas en la base de datos, como cerrar el DBMS / eliminar bases de datos.

Comprendamos los agentes de amenazas, los vectores de ataque, la debilidad de la seguridad, el impacto técnico y los impactos comerciales de esta falla con la ayuda de un diagrama simple.

Ejemplos

La aplicación utiliza datos que no son de confianza en la construcción de la siguiente llamada SQL vulnerable:

String query = "SELECT * FROM EMP WHERE EMPID = '" + request.getParameter("id") + "'";

Las manos en

Step 1 - Navegue al área de inyección SQL de la aplicación como se muestra a continuación.

Step 2- Como se indica en el ejercicio, usamos String SQL Injection para evitar la autenticación. Utilice la inyección SQL para iniciar sesión como jefe ('Neville') sin utilizar la contraseña correcta. Verifique que se pueda ver el perfil de Neville y que todas las funciones estén disponibles (incluidas Buscar, Crear y Eliminar).

Step 3 - Inyectaremos un SQL de manera que podamos omitir la contraseña enviando el parámetro como 'a' = 'a' o 1 = 1

Step 4 - Después de la explotación, podemos iniciar sesión como Neville, que es el administrador, como se muestra a continuación.

Prevención de la inyección de SQL

Hay muchas formas de evitar la inyección de SQL. Cuando los desarrolladores escriben el código, deben asegurarse de manejar los caracteres especiales en consecuencia. Hay hojas de trucos / técnicas de prevención disponibles en OWASP, que definitivamente es una guía para desarrolladores.

  • Usar consultas parametrizadas
  • Escapar todas las entradas proporcionadas por el usuario
  • Habilite el privilegio mínimo para la base de datos para los usuarios finales