¿Cómo resolver el reto número seis del San Holidays Challenge?
Los retos de seguridad son una excelente manera de poner a prueba y expandir tus habilidades en ciberseguridad. Hoy, te guiaré a través del proceso para resolver el reto número seis del San Holidays Challenge proporcionado por SANS, una de las instituciones más prestigiosas en seguridad. Prepárate para mejorar tus habilidades y convertirte en un experto en seguridad, todo gracias a la formación de Platzi.
¿Cuál es el desafío y cómo se inicia?
Para comenzar con este reto, primero debes acceder a la página del San Holidays Chal en: cljholidaychallenge.com. Una vez ahí, dirígete al apartado de historia para ver el reto número seis. En este desafío, nos encontramos con un panel de autenticación para el que Santa Claus requiere pruebas de seguridad para detectar potenciales vulnerabilidades.
Vagando por las instalaciones, te encuentras con una credencial de un duende que contiene un código QR. Observas que el sistema de autenticación incluye detección de huellas dactilares y un puerto USB. Nuestra misión es verificar el sistema y encontrar cualquier debilidad.
¿Cómo generar e interpretar el código QR?
El primer paso es crear un código QR modificado para probar si el sistema es vulnerable a inyecciones SQL. Utiliza una herramienta en línea para generarlo, ingresando una combinación de caracteres y terminando con una comilla simple (') para desencadenar posibles errores.
Generación del código QR:
Ingresa cualquier texto, por ejemplo: Juan'.
Añade la comilla simple al final.
Genera y guarda el código como archivo PNG.
Uso de herramientas y técnicas para identificar vulnerabilidades
Existen varias herramientas y técnicas que serán de utilidad para este reto:
Postman:
Postman es esencial para capturar las peticiones que realiza el sistema y analizar su comunicación.
Configura Postman incluyendo el proxy: utiliza el localhost 127.0.0.1 y el puerto 5555.
Recarga la página del reto y captura las peticiones POST que se realicen.
Python y librerías:
Python junto con las librerías qr_code, requests y json serán herramientas cruciales para ejecutar scripts personalizados.
Configuración de Python:
Instala las librerías necesarias utilizando pip install para cada una.
Asegúrate de que las variables de entorno están configuradas correctamente para correr scripts.
Desarrollo y envío de solicitudes con Python
Con los datos recopilados y preparados desde Postman, procede a crear un script Python para llevar a cabo las peticiones necesarias:
import json
import requests
import qrcode
# Generación del QRqr_data ="Juan'"# SQL injection stringqr = qrcode.make(qr_data)qr.save("qr.png")# Save as PNG# Envío de la solicitud POSTurl ="http://targetsite.com/upload"files ={'file':('qr.png',open('qr.png','rb'),'image/png')}response = requests.post(url, files=files)print(response.text)# Verifique la respuesta
Análisis de respuesta y superación de retos
Tras enviar las solicitudes, analiza la respuesta dada por el sistema. Un error indica una vulnerabilidad, lo que confirma que el sistema está expuesto a inyecciones SQL. Ajusta y reutiliza esa información para simular una sentencia lógica que podría resultar útil en la explotación de esta vulnerabilidad.
Valida los códigos recibidos asegurándote de que el acceso sea otorgado, confirmando el éxito del reto. Copia el número de control proporcionado por el sistema como resultado del hackeo y prueba su efectividad completando el reto en la plataforma del San Holidays Challenge.
Conclusión
Este tipo de retos no solo fortalecen tus capacidades técnicas, sino que también te preparan para enfrentar los desafíos de seguridad en entornos reales. ¡Sigue aprendiendo y desarrollando tus habilidades! Te animo a que continúes con tu suscripción en Platzi, donde cada clase te acerca más a tu meta de convertirte en un experto en seguridad.
¿Hay alguna otra alternativa?, ya que los retos de esta página ya no estan disponibles
por qué en el post tiene resource id =false
y cuando creamos el script le agregamos ahí la cookie?
que no la cookie es la que va en parte de Postman-Token : ???
El Postman-Token es irrelevante, lo confundió con la cookie.
HTTP define un conjunto de métodos de petición para indicar la acción que se desea realizar para un recurso determinado.
El método GET solicita una representación de un recurso específico. Las peticiones que usan el método GET sólo deben recuperar datos.
El método HEAD pide una respuesta idéntica a la de una petición GET, pero sin el cuerpo de la respuesta.
El método POST se utiliza para enviar una entidad a un recurso en específico, causando a menudo un cambio en el estado o efectos secundarios en el servidor.
EL M EJOR
Muy buena clase
De las clases más interesantes que tiene el curso. Muy buena práctica y, sobre todo, bien explicada.
que buen taller :)
gracias
demasiado chafa no se pueden ver ciertos videos
Una de las mejores clases del curso
todavía no entiendo. veo que se ocupa aprender inglés primero
Hola!
Qué es lo que te está costando entender?
A pesar de no ser vital para aprender a programar, el saber inglés sí te puede ayudar muchísimo a la hora de involucrarte en la programación, además de abrirte muchísimas puertas. Te recomiendo hacer la Escuela de Inglés de Platzi
¿Buenas... como se genera el código de la cookie que ponen en python???
Que tal Matías, que parte del código no entiende y con gusto le explico.
ya los retos de esa pagina no funcionan alguna opcion para hacer la practica en otra pagina ?