0% encontró este documento útil (0 votos)
3 vistas9 páginas

Practica U3. Inyección SQL

El documento detalla una práctica sobre ataques de inyección SQL en bases de datos, enfocándose en la identificación de vulnerabilidades y técnicas de prevención. Se describe el proceso de creación de un entorno de prueba utilizando XAMPP, la configuración de una base de datos y la simulación de un ataque, así como la implementación de medidas de seguridad como consultas preparadas. Además, se discuten las responsabilidades de los desarrolladores en la prevención de estas vulnerabilidades y se concluye enfatizando la importancia de la seguridad en el manejo de información sensible.

Cargado por

Juan Jose
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)
3 vistas9 páginas

Practica U3. Inyección SQL

El documento detalla una práctica sobre ataques de inyección SQL en bases de datos, enfocándose en la identificación de vulnerabilidades y técnicas de prevención. Se describe el proceso de creación de un entorno de prueba utilizando XAMPP, la configuración de una base de datos y la simulación de un ataque, así como la implementación de medidas de seguridad como consultas preparadas. Además, se discuten las responsabilidades de los desarrolladores en la prevención de estas vulnerabilidades y se concluye enfatizando la importancia de la seguridad en el manejo de información sensible.

Cargado por

Juan Jose
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/ 9

TECNOLÓGICO DE ESTUDIOS SUPERIORES DE JOCOTITLÁN

INGENIERÍA EN SISTEMAS COMPUTACIONALES

Asignatura: Tópicos Selectos de Seguridad en Ambientes Computacionales

Docente: M. C. I Grisel Miranda Piña


Alumno (s): Castro Contreras Edrey, Delgado González Daniel Marcelo, Muciño Cruz
Juan José, Ramos Jasso Ana Lucia Grupo: IC-0803
Fecha de asignación: 12/05/2025 Fecha límite de entrega: 12/05/2025
Nota: Lea cuidadosamente las instrucciones y evite omitir pasos. Asimismo, trabaje sobre este formato o de lo
contrario no se recibirá la práctica.

Practica 1-U3. Ataques de inyección SQL


Objetivo:
Analizar los riesgos de seguridad asociados a bases de datos mal protegidas mediante la
identificación de vulnerabilidades por inyección SQL, aplicando técnicas para prevenir este
tipo de ataques dentro del contexto de una base de datos inspirada en información de
identidad digital.
Actividad 1. Resumir conceptos principales del tema.
La seguridad de la base de datos es un conjunto de prácticas diseñadas para proteger los datos
almacenados en los sistemas de bases de datos. Esta seguridad tiene como objetivo garantizar
la seguridad, la seguridad y la disponibilidad de datos a través de diversas medidas, como
controlar el acceso, el cifrado y la protección de los ataques. La creciente digitalización ha
hecho de la base de datos el objetivo común de los ataques electrónicos y, por lo tanto, su
seguridad es una prioridad importante para las instituciones [1].
Uno de los ataques más populares es la inyección SQL, que ocurre cuando el delantero SQL
debe consultar a través de formularios de entrada, aprovechando los agujeros de la base de
datos. Este tipo de ataque puede permitir a los atacantes acceder, modificar, eliminar e incluso
implementar pedidos en el servidor de la base de datos [1].
Hay varios tipos de ataques de inyección SQL, entre los tipos más famosos:
• Inyección clásica SQL: el delantero trata de SQL para acceder a información no
autorizada, como información de definición o datos confidenciales [2].
• Inyección SQL: en este caso, el atacante no puede ver los resultados del consejo
directamente, pero puede dar pensamiento sobre las notas del servidor [2].
• SQLI depende del tiempo: aproveche la diferencia durante el tiempo de la base de
datos para deducir la información sin ver los resultados del consejo [3].
• SQLI depende de una alianza: el uso de la condición de la Unión SQL para combinar
algunas consultas, permitiendo el extracto de datos de otras tablas [3].

1
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE JOCOTITLÁN

INGENIERÍA EN SISTEMAS COMPUTACIONALES

• Los agujeros SQL son peligrosos. Los atacantes pueden robar datos confidenciales
como contraseñas, información financiera, revisión de registros o incluso controlar
toda la base de datos [3].
En situaciones máximas, un ataque exitoso puede conducir a una pérdida de datos o a todos
los servicios de servicio, lo que afecta la integridad de la información y la confianza del
usuario en el sistema [3].

Actividad 2. Desarrollo y documentación de la práctica.


1. Preparación del entorno (Servidor local):
a. Instalar o verificar que funcione XAMPP.
En esta parte se observará lo que se debe de realizar para poder empezar con esta práctica,
que es el funcionamiento de XAMPP

Figura 1: Funcionamiento de XAMPP:


b. Iniciar los servicios de Apache y MySQL.
La interfaz de XAMPP muestra el inicio de los servicios Apache y MySQL, indicando que
el servidor local ha comenzado a funcionar correctamente.

2
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE JOCOTITLÁN

INGENIERÍA EN SISTEMAS COMPUTACIONALES

Figura 2: Inicio de servidores

2. Creación de la base de datos


a. Ingresar al sitio de XAMPP
b. Crear una base de datos “CELEBRIDAD”
Se observa la interfaz de phpMyAdmin en XAMPP mostrando el proceso de creación de la
base de datos llamada "CELEBRIDAD".

Figura 3: Creación de la base de datos

c. Crear una tabla USUARIOS con los atributos: id_usuario, nombre, usuario,
contraseña, correo.
La interfaz de phpMyAdmin muestra la creación de la tabla "USUARIOS" con los atributos
id_usuario, nombre, usuario, contraseña y correo.

3
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE JOCOTITLÁN

INGENIERÍA EN SISTEMAS COMPUTACIONALES

Figura 4: Creación de tablas usuarios:


d. Insertar registros en la tabla USUARIOS sobre las celebridades investigadas
en sesiones previas. Tomar como referencia la siguiente tabla:
Tomando en cuenta a las celebridades investigadas con anterioridad, crearemos nuestra tabla
dentro de nuestra base de datos.
id_usuari nombre usuario contraseña correo
o
1 Claudia claudia_ MexicoSinHamb [email protected]
Sheinbau s re om
m
2 Bruno bruno_ mylove [email protected]
Mars m

Figura 5 Inserción de datos

3. Creación de un formulario vulnerable


a. Crear una carpeta INYECCION_SQL en el directorio htdocs de XAMPP
Se muestra la terminal de Ubuntu donde se ha ejecutado el comando para crear la carpeta
"INYECCION_SQL" en el sistema, indicando que la carpeta ha sido creada correctamente.

4
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE JOCOTITLÁN

INGENIERÍA EN SISTEMAS COMPUTACIONALES

Figura 6 Creación de carpeta INYECCIÓN_SQL

b. Dentro de la carpeta crear un archivo index.html que incluya la creación de


un formulario para iniciar sesión
Se muestra la terminal de Ubuntu donde se edita un archivo index.html dentro de la carpeta
"INYECCION_SQL". El archivo incluye la creación de un formulario HTML para iniciar
sesión, con campos para el nombre de usuario y la contraseña.

Figura 7 Creación de formulario inicio de sesión

c. Crear un archivo con extensión php para establecer una conexión entre la
página y la base de datos.

5
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE JOCOTITLÁN

INGENIERÍA EN SISTEMAS COMPUTACIONALES

d. En el archivo php realizar la codificación para una autenticación básica de


usuario, verificando si el nombre de usuario y la contraseña ingresados están
en una base de datos llamada CELEBRIDAD.
Se muestra la terminal de Ubuntu donde se realiza la codificación en un archivo PHP para
implementar la autenticación básica de usuario. El código verifica el nombre de usuario y la
contraseña ingresados en una base de datos llamada "CELEBRIDAD".

Figura 8 Autenticación de usuario

4. Simulación de ataque por inyección SQL


a. En el formulario, escribir en el campo de usuario: ' OR '1'='1
b. En campo de contraseña, colocar cualquier contraseña
c. Observar que el sistema permite el acceso sin validación correcta
Se muestra el navegador web con el formulario de inicio de sesión de la aplicación en
ejecución, donde el usuario ingresa un nombre de usuario y una contraseña para simular un
ataque por inyección.

Figura 9 Simulación de ataque por inyección

5. Prevención de vulnerabilidad
6
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE JOCOTITLÁN

INGENIERÍA EN SISTEMAS COMPUTACIONALES

a. Modificar el archivo php para usar consultas preparadas

Se muestra el código PHP modificado para usar consultas preparadas en lugar de consultas
tradicionales, mejorando la seguridad al prevenir la inyección SQL. El archivo verifica las
credenciales de usuario utilizando una consulta preparada con parámetros vinculados.

Figura 10 Modificación del archivo php

6. Preguntas: Responder las siguientes preguntas considerando las debilidades de la


identidad digital y la seguridad de bases de datos
a. ¿Qué tan frecuente es la inyección SQL en el mundo real?
La inyección SQL sigue siendo una de las vulnerabilidades más comunes en aplicaciones
web, ocupando un lugar destacado en las listas de amenazas de seguridad como las de
OWASP. Muchas aplicaciones, especialmente aquellas con malas prácticas de validación de
entradas, son susceptibles a este tipo de ataque, que afecta tanto a sistemas grandes como
pequeños.
b. ¿Qué responsabilidad tienen los desarrolladores ante estas fallas?
Los desarrolladores tienen la responsabilidad de prevenir la inyección SQL mediante buenas
prácticas de codificación, como la validación de entradas y el uso de consultas
parametrizadas. También deben aplicar el principio de menor privilegio en las bases de datos,
utilizar frameworks seguros y realizar pruebas de seguridad periódicas para identificar y
corregir vulnerabilidades.

7
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE JOCOTITLÁN

INGENIERÍA EN SISTEMAS COMPUTACIONALES

Conclusiones.
La realización de esta práctica permitió identificar los graves riesgos asociados a base de
datos mal protegidos, especialmente aquellas que manejan información sensible como la
identidad digital. Entre las principales dificultades encontradas se destacaron la complejidad
para emular escenarios realistas de inyección SQL sin comprometer datos genuinos, así como
la configuración adecuada de entornos de prueba seguros. Además, se enfrentaron desafíos
al interpretar los resultados de las pruebas de vulnerabilidades, donde falsos positivos
requerían un análisis minucioso. A través del proceso, se aprendió que la prevención afectiva
exige no solo medidas técnicas como consultas parametrizadas y validación de entradas, sino
también una concienciación profunda sobre arquitecturas seguras.
La práctica reforzo que incluso pequeñas negligencias en permisos o cifrado pueden exponer
datos críticos a ataques devastadores. Esta experiencia subrayo la importancia de equilibrar
usabilidad con seguridad en sistemas que gestionan información personal.
Referencias.
[1] OWASP Foundation, "SQL Injection," OWASP, Accedido el 12 de mayo de 2025. [En
línea]. Disponible: https://owasp.org/www-community/attacks/SQL_Injection.
[2] OWASP Foundation, "SQL Injection Prevention Cheat Sheet," OWASP, Accedido el 12
de mayo de 2025. [En línea]. Disponible:
https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.ht
ml.
[3]“What is SQL Injection? Examples & Prevention”. SentinelOne. Accedido el 12 de mayo
de 2025. [En línea]. Disponible: https://www.sentinelone.com/cybersecurity-
101/cybersecurity/sql-injection/
Anexo.
chmod +x xampp-linux-x64-*.run
sudo ./xampp-linux-x64-*.run
sudo chmod -R 755
cd /opt/lampp/htdocs
sudo mkdir INYECCION_SQL
sudo chmod -R 777 INYECCION_SQL
cd INYECCION_SQL

8
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE JOCOTITLÁN

INGENIERÍA EN SISTEMAS COMPUTACIONALES

sudo /opt/lampp/lampp start

También podría gustarte