Que es un ataque SQL ? Análisis de vulnerabilidades en Bases de datos

Has escuchado hablar sobre "vulnerabilidades", "Seguridad", "Puntos debiles". Todo esto hace parte del análisis que cualquier desarrollador debe tener en cuenta dentro de sus aplicativos para garantizar la calidad del desarrollo y evitar algunas vulnerabilidades que los hackers conocer bastante bien.

Este es un ejemplo de un ataque de inyección SQL. Ocurre cuando en una pagina web, completas un formulario y aceptas la entrada del usuario y la usas para crear una consulta sin limpiarla primero.

Por ejemplo, digamos que tiene un formulario web que tiene un campo de entrada de texto llamado Buscar y usa lo que el usuario escribe para hacer una búsqueda en una base de datos.

$patrondebusqueda = $_POST['buscar'];

$sql = "SELECT * FROM tabla WHERE condiciones LIKE $patrondebusqueda";

Entonces, si alguien escribe la palabra "patron" en el formulario y presiona Retorno, eso básicamente significa que se ejecuta esta declaración SQL:

$sql = "SELECT * FROM tabla WHERE condiciones LIKE 'nombreciudad' ";

¿Por qué vale la pena aprender a programar?
Si bien desde hace un tiempo se está propagando a nivel educativo y general el espíritu para convencer a la gente para entrar en e...

Pero, ¿qué sucede si alguien escribe algo como foo "; exec (" [algún código hostil aquí] "); - en el formulario? Entonces mira lo que sucede:

$sql = "SELECT * FROM tabla WHERE condiciones LIKE 'Bogotá' "; exec("[algún código hortil aqui]"); ";

¡Se ejecuta el código hostil! La declaración SQL acepta ciegamente todo lo que el usuario escribe y lo transmite ciegamente, donde se ejecuta ciegamente. ¡UPS! Te acaban de hacer un ataque SQL.

Encuentra tu profesor ideal

Existen varios metodos que te puedo enseñar para evitar la inyección de SQL en tu código, no importa si trabajas con lenguajes como Java, Python, Phpy cualquier base de datos como MySQL, PostgreSQL, Oracle.

Temas
© 2007 - 2021 Tus clases particulares Mapa web: Profesores particulares| Academias y centros