0% encontró este documento útil (0 votos)
30 vistas13 páginas

Trabajo Final SQL Injection

Este documento contiene información sobre José Rafael Gómez Peña, estudiante con matrícula 19-sisn-7-032. Su maestro es Lucas Caonabo Reyes y su asignación es Fundamentos de Seguridad Informática, con fecha de entrega del 17 de agosto de 2022.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
30 vistas13 páginas

Trabajo Final SQL Injection

Este documento contiene información sobre José Rafael Gómez Peña, estudiante con matrícula 19-sisn-7-032. Su maestro es Lucas Caonabo Reyes y su asignación es Fundamentos de Seguridad Informática, con fecha de entrega del 17 de agosto de 2022.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 13

Nombre: José Rafael

Apellido: Gomez Peña

Matricula: 19-sisn-7-032

Maestro: Lucas Caonabo Reyes

Asignación: fundamento de la seguridad informática

La fecha de entrega es 17 de agosto 2022


Introducción

A través de esta publicación introduzco un método de optimización para los

tiempos de explotación de las Inyecciones SQL a ciegas aprovechando las

conexiones asíncronas o multi-hilo y la detección rápida de caracteres

identificando su pertenencia a determinados rangos o grupos.


SQL Injection

Concepto

La inyección de SQL es un tipo de ciberataque encubierto en el cual un hacker

inserta código propio en un sitio web con el fin de quebrantar las medidas de

seguridad y acceder a datos protegidos. Una vez dentro, puede controlar la

base de datos del sitio web y secuestrar la información de los usuarios.

¿Qué es un ataque sql injection?

La inyección de SQL es un tipo de ciberataque encubierto en el cual un

hacker inserta código propio en un sitio web con el fin de quebrantar las

medidas de seguridad y acceder a datos protegidos. Una vez dentro, puede

controlar la base de datos del sitio web y secuestrar la información de los

usuarios. Le explicamos cómo funcionan los ataques de inyección de SQL,

cómo combatirlos y cómo una herramienta antivirus potente lo puede

proteger contra las consecuencias.

El SQL es un lenguaje amplio y flexible que ofrece a los diseñadores de

bases de datos infinidad de posibilidades. Casi todos los diseñadores crean

bases de datos con su propio conjunto de normas SQL, aquellas que mejor
se adaptan a sus necesidades particulares. No se puede copiar y pegar sin

más el SQL de una base de datos en otra, puesto que cada una puede

haberse creado de una forma totalmente distinta.

Los hackers recurren a los ataques de inyección de SQL con el fin de

introducirse en la base de datos de un sitio web. A veces solo quieren

eliminar datos para provocar el caos y, en otras ocasiones, lo que buscan es

editar la base de datos, especialmente en el caso de sitios web financieros.

¿Cómo funciona un ataque sql injection?

Un ataque de Inyección SQL se produce cuando un valor en la solicitud del

cliente se utiliza dentro de una consulta de SQL sin un saneamiento previo. Si

como desarrolladores Web no hemos saneado el código y confiamos en los

datos proporcionados por los usuarios, los atacantes pueden extraer

información oculta de las bases de datos o tomar el control del servidor.

Por ejemplo, si la consulta anterior donde estábamos consultando el registro

con el id 1 se realiza en una página Web para mostrar los datos de los usuarios,

le indicamos que queremos que nos ordene la salida de los datos por la

columna número 10.

Si un sitio web no toma las medidas adecuadas para sanear la introducción de

datos, un hacker puede inyectar el código SQL que quiera. De este modo, el
sitio web envía el código del hacker, la carga útil, a su servidor. Cuando llega a

la base de datos del sitio web, ubicada en su servidor, la carga útil del hacker

entra en acción e interfiere en la base de datos, de modo que el hacker puede

cumplir sus objetivos.

Los hackers recurren a los ataques de inyección de SQL con el fin de

introducirse en la base de datos de un sitio web.

Causas de sql injection.

¿Qué impacto puede tener este tipo de ataques?

Los hackers recurren a los ataques de inyección de SQL con el fin de

introducirse en la base de datos de un sitio web. A veces solo quieren eliminar

datos para provocar el caos y, en otras ocasiones, lo que buscan es editar la

base de datos, especialmente en el caso de sitios web financieros. En el

momento en que el hacker ha logrado el control de la base de datos, ya es fácil

interferir en los saldos de las cuentas de los clientes y mandarse dinero a su

propia cuenta.

Sin embargo, a menudo lo que el ciberdelincuente quiere son los datos de

usuario guardados en el sitio web, como las credenciales de inicio de sesión.

Estos datos de inicio de sesión robados puede emplearlos para realizar

acciones en nombre de los usuarios afectados o reunirlos en una gran lista que
luego venderá a otros ciberdelincuentes en la red oscura. Las personas que

compran información robada lo hacen, frecuentemente, con la finalidad

de robar identidades y cometer fraudes.

Tipos de ataques SQL Injection

⚫ Inyección de SQL mediante la introducción de datos del usuario

La inyección de SQL mediante la introducción de datos del usuario es la forma

más sencilla de perpetrar un ataque de inyección de SQL. Hay un montón de

sitios web que recopilan las entradas del usuario y las transmiten al servidor.

Eso quiere decir que si hace un pedido por Internet y pone su dirección, este

dato se recopila. Y ocurre lo mismo en un apartado de comentarios o de

reseñas de usuario. Sin un saneamiento de entrada seguro, un formulario con

campos para rellenar o un recuadro para poner comentarios constituyen una

vulnerabilidad flagrante en cuanto a la inyección de SQL.

En lugar de cumplimentar estos formularios con contenido y respuesta

normales y corrientes, los hackers que utilizan la inyección de SQL hacen algo

muy diferente: introducir una secuencia de comandos de código SQL. Cuando

un sitio web con un saneamiento de entrada deficiente envía el contenido del

formulario a su servidor, el código del hacker se ejecuta. Así es como los

hackers usan la SQLI para robar los datos de los usuarios o trastocar el

funcionamiento de un sitio web.


⚫ Inyección de SQL mediante la modificación de cookies

Las cookies son archivos pequeños que residen en el navegador y facilitan a

los sitios web información sobre el usuario. Algunas veces son útiles, por

ejemplo, cuando recuerdan sus credenciales de inicio de sesión o sus

preferencias; es cómodo. Otras veces dan miedo: muchos sitios emplean

cookies para seguir las actividades del usuario en Internet y en sus páginas.

Utilizan la información obtenida con el seguimiento para llevar a cabo

investigaciones de mercado y con fines publicitarios. Este segundo tipo de

cookie es una herramienta de seguimiento web habitual.

Los ciberdelincuentes son capaces de manipular o «envenenar» las

cookies de manera que, cuando transmitan información al servidor del sitio

web, envíen código SQL a la base de datos.

⚫ Inyección de SQL mediante variables de servidor

Al introducir la URL de un sitio web en el navegador, tiene lugar una rápida

secuencia de comunicaciones cuya finalidad es ofrecer el sitio al usuario.

Dentro de este proceso, el navegador solicita una lista de datos denominada

«variables de servidor» que sirve para que el sitio se renderice correctamente.

Un hacker astuto puede meter sigilosamente código SQL en las solicitudes del

navegador, las cuales, si no se sanean debidamente, se inyectarán en la base

de datos del sitio web, que se encuentra en el servidor.


⚫ Inyección de SQL mediante herramientas de hackeo automáticas

Si esto parece demasiado complicado, existe una opción más sencilla.

Hay herramientas automáticas de inyección de SQL, como SQLMAP, que

detectan y aprovechan las vulnerabilidades en la inyección de SQL presentes

en un sitio web determinado y en su base datos.

⚫ Ataques SQL de segundo orden

La inyección de SQL de segundo orden va un poco más lejos, ya que emplea

un método mucho más sofisticado. Dado que muchos sitios web se sanean

para evitar la introducción de datos directa por parte los usuarios, los hackers

inyectan SQL diseñado para ejecutarse únicamente en las visitas posteriores.

Al implantar unas medidas preventivas básicas de saneamiento de entrada, el

sitio web en cuestión bloquearía un ataque normal de SQLI, también

denominado ataque de «primer orden». Sin embargo, un ataque de inyección

de SQL de segundo orden es una bomba de relojería.

La inyección SQL ciega

Las inyecciones SQL a ciegas son una variante de las inyecciones SQL

regulares en que no podemos obtener resultados directos pero su explotación

permite identificar valores específicos. Es como un verdadero o falso.


Ataque a ciegas por inyección SQL', en inglés, Blind SQL injection, es una

técnica de ataque que utiliza la inyección SQL. Se evidencia cuando en una

página web, por un fallo de seguridad, no se muestran mensajes de error al no

producirse resultados correctos ante una consulta a la base de datos,

mostrándose siempre el mismo contenido (es decir, solo hay respuesta si el

resultado es correcto).

Optimizando la explotación de Inyecciones SQL a ciegas v1.0

Un ejemplo de código vulnerable es el siguiente:

// CODIGO

<?php

# test.php

mysql_connect( 'localhost', 'root', 'password' ); mysql_select_db( 'prueba' );

$count = mysql_query( 'SELECT codigo FROM accesos WHERE codigo =

'.$_GET['codigo'] );

if( mysql_num_rows( $count ) > 0 ) print "VALIDO";

else

print "ERROR";

?>

// FIN
Paginas vulnerables a sql injection

Ejemplos de sql injection

Este tipo de Inyección SQL la podemos considerar como Error -Based (basada

en error). Nos vamos a aprovechar del propio error que se nos va a mostrar en

la página Web para listar información privilegiada de la base de datos.

Tenemos un cuadro de texto de una página web en el que escribimos nuestro

nombre de usuario y contraseña y al ejecutarlo nos aparecen los detalles de

nuestra cuenta en la página. Para ello nos hemos creado antes una cuenta en

esa aplicación web. El nombre de usuario es ‘extra’ y la contraseña

‘password123’

Vemos que la dirección Web o URL que se nos genera es la siguiente:

http://10.17.20.71/mutillidae/index.php?page=userinfo.php&username=extra&

password=password123&user-info-php-submitbutton=View+Account+Details
Bancos o páginas de prueba de sql injection

A continuación les dejo un listado de URLS o páginas web de domicio

mexicano, donde pueden probar sus técnicas o herramientas de SQL

Injection o Inyección SQL. Sin más preámbulo…

▪ http://www.guerreros.mx/resenas.php?id=419

▪ http://www.gabane.mx/ver_producto.php?id=2

▪ https://www.aigclassic.mx/home.php?id=IDIST

▪ https://www.crocsmexico.com.mx/ofertasEspecialesListado.php?id=25

▪ http://www.delucio.com.mx/cat.php?id=1

▪ http://www.cemca.org.mx/seccion.php?id=112

▪ http://www.partidodeltrabajo.org.mx/articulo.php?id=125

▪ http://www.velastoscano.mx/productos.php?id=2

▪ http://www.hotelresidencial.com.mx/detalle-habitacion.php?id=2

▪ http://www.luminatta.mx/producto.php?id=600

▪ http://sueciacarlaguna.mx/lifestyle-accesorios-producto.php?id=333

▪ http://sil.gobernacion.gob.mx/Glosario/definicionpop.php?ID=138

▪ http://www.ivec.gob.mx/recintos.php?id=1

▪ http://www.audioramaguerrero.mx/locutores.php?id=55

▪ http://www.censa.mx/catalogo.php?id=128

▪ https://www.moshimoshi.mx/Bento/bento.php?id=84

▪ http://www.visualcare.mx/catalogo.php?id=7
▪ http://www.unimog.mx/subseccionb.php?id=33

Como contrarrestar ataque sql injection “Contramedidas”

A menos que se dedique al desarrollo web, no tiene forma de hacerlo. La

inyección de SQL no va dirigida directamente a usted como usuario, así que

no puede detectar, contrarrestar ni bloquear un ataque.Además, no sabrá si

está usando un sitio que haya sufrido un ataque hasta que los efectos salgan

a la luz tiempo después.

Prevenir los ataques de inyección de SQL es responsabilidad de las personas

que gestionan los sitios web que usted utiliza. No obstante, sí puede hacer

algo para combatir las SQLI. Hágalo ahora mismo: vaya a nuestra herramienta

gratuita Avast Hack Check para ver si las credenciales de inicio de sesión de

los sitios que utiliza se han filtrado. En caso afirmativo, cambie la contraseña

de ese sitio de inmediato.

Conclusión.

Desafortunadamente, las inyecciones de SQL siguen siendo un problema.

Incluso si no hay vulnerabilidades obvias, las técnicas de inyección ciega de


SQL pueden descubrir vulnerabilidades adicionales. Las vulnerabilidades de

inyección de SQL se pueden eliminar mediante declaraciones preparadas.

SQL Injection

También podría gustarte