[Serie Yugong] Junio de 2023 Bugku-Web (juego 1)

Directorio de artículos


prefacio

MD5 es un algoritmo de cifrado común que puede cifrar información de cualquier longitud y generar un valor hash de longitud fija (generalmente 128 bits). El algoritmo de cifrado MD5 es irreversible, es decir, los datos originales no se pueden restaurar a través del valor hash. Es ampliamente utilizado en el procesamiento de cifrado de información confidencial, como contraseñas y firmas digitales.

La firma de la interfaz se refiere al cifrado de los parámetros de la interfaz para garantizar la seguridad y la integridad de los datos de solicitud y respuesta y evitar que los datos sean manipulados o falsificados. La firma de la interfaz generalmente genera un valor de firma al cifrar los parámetros de la solicitud y envía el valor de la firma como parte de los parámetros de la solicitud al servidor, y el servidor juzga la legitimidad de la solicitud verificando la corrección del valor de la firma. Las funciones y significados específicos son los siguientes:

  1. Evite la manipulación de datos: al cifrar los parámetros de la interfaz, se puede evitar que los datos de solicitud o respuesta sean manipulados o falsificados durante la transmisión.

  2. Prevención de ataques de reproducción: dado que el valor de la firma se genera en función de los parámetros de la solicitud y los parámetros de cada solicitud son diferentes, los ataques de reproducción se pueden prevenir de manera eficaz.

  3. Mejorar la seguridad de la interfaz: las firmas de la interfaz pueden mejorar la seguridad de la interfaz hasta cierto punto y garantizar la confiabilidad de los datos.

  4. Supervisión y seguimiento: el valor de la firma se genera de acuerdo con los parámetros de la solicitud, por lo que la seguridad de la interfaz se puede mejorar aún más mediante la supervisión y el seguimiento del valor de la firma.

1. juego1

1. Tema

inserte la descripción de la imagen aquí

2. Responde preguntas

inserte la descripción de la imagen aquí
Para los juegos, generalmente cuando el puntaje es alto a un cierto nivel, puede pasar el nivel

Encienda bp para capturar paquetes

Descubrimiento: cuando termina nuestro juego, la página web envía un paquete

inserte la descripción de la imagen aquí
clic para ver

inserte la descripción de la imagen aquí
Intenta modificar el valor de la puntuación directamente

inserte la descripción de la imagen aquí
Obviamente, no funcionará. Indica que existen otros parámetros para verificar la autenticidad de la partitura, este parámetro puede ser un signo o puede estar en una cookie.

Solución: envíe el paquete varias veces (juegue el juego varias veces, mantenga diferentes valores), compare diferentes valores

inserte la descripción de la imagen aquí
Obviamente, cuando los puntajes son diferentes, la brecha entre los diferentes paquetes radica en el puntaje y el signo.

En comparación con el signo, se encuentra que el signo se compone de zM + **** + ==

Lleve el número calificado de cuatro dígitos en el primer paquete a cmd5 para descifrarlo y descubra que este es nuestro puntaje

Entonces se determina que sign = zM + base64(score) + ==

Entonces, si queremos cambiar el puntaje, debemos establecer puntaje = 999999 y firmar = zM + base64 (999999) + ==

base64(999999) Este valor específico puede ser encriptado por cmd5

El paquete de datos es el siguiente y
inserte la descripción de la imagen aquí
la bandera se obtiene con éxito

Supongo que te gusta

Origin blog.csdn.net/aa2528877987/article/details/131369831
Recomendado
Clasificación