Cómo "hackear" RedBull

De hecho, es más correcto nombrar el artículo "Cómo obtener puntos en la competencia para ganar un refrigerador RedBull completo". Por cierto, ya tenemos un refrigerador con bebidas en nuestra oficina.



Cuando una vez más se entregaron jugos, refrescos y otras bebidas a la oficina, encontré un volante que anunciaba el concurso, cuya esencia era completar el juego y el ganador ganaría un refrigerador para bebidas energéticas.

El segundo refrigerador no nos haría daño: simplemente nos expandimos y tenemos nuevas salas de oficina. Así que seguí el enlace y decidí probar suerte, mi intento fue un fracaso y terminé en algún lugar al final de la calificación. El juego consistía en atravesar varios niveles del laberinto lo más rápido posible.

Ahora necesitas ponerte gafas de sol, encender vpn, todo tipo de proxies, etc.

Vamos a ir al grano


Comprendiendo perfectamente que cualquier juego en la web es una secuencia de solicitudes, y conociendo el mercado de desarrollo, donde hay muchos aficionados, decidí probar suerte en la otra dirección y de repente tropecé con agujeros en el juego. No es que necesitara tanto este refrigerador, simplemente me interesó mucho.

http://redbull.ru/work
Realizaremos un seguimiento de las solicitudes en el navegador, luego intentaremos enviar las mismas solicitudes, pero con los valores modificados.



El primer paso es una solicitud para iniciar el juego:

https://rb-prjct-crtns-gamebackend-eu.herokuapp.com/api/high-scores/games/8970c40a-98f0-4395-85c8-66177fb38af0/runs

Al mismo tiempo, nos damos cuenta en el enlace id = 8970c40a-98f0-4395-85c8-66177fb38af0.
Un par de veces actualizamos la página en el navegador, se abre desde una dirección IP diferente y en otro navegador, este parámetro no cambia, suponemos que este es un identificador constante para el juego.

También notamos que en los parámetros del encabezado del tipo de datos

accept: 
application/vnd.api+json

En respuesta a esta solicitud, obtenemos la respuesta:



{
    "data":{
        "attributes":{
            "finished_at":null,
            "game_day":114,
            "game_week":17,
            "score":null
        },
        "id":"4f89d56d-884e-42e8-909d-d1e7547cc1d8",
        "links":{
            "self":"https://rb-prjct-crtns-gamebackend-eu.herokuapp.com/runs/4f89d56d-884e-42e8-909d-d1e7547cc1d8"
        },
        "relationships":{},
        "type":"runs"
    },
    "included":[],
    "links":{
        "self":"https://rb-prjct-crtns-gamebackend-eu.herokuapp.com/runs/4f89d56d-884e-42e8-909d-d1e7547cc1d8"
    }
}

En la respuesta puedes notar diferentes atributos y uno más id = 4f89d56d-884e-42e8-909d-d1e7547cc1d8, que parece ser nuestro identificador personal para el juego.

Nosotros empezamos el juego.



Observamos sobre pedidos. Vemos que no aparece nada nuevo, es decir, no hay etapas del paso del gatillo del juego. Por si acaso, lo comprobé, tal vez algo pasa en los enchufes web, también está vacío allí.



Al final del juego, estamos en algún lugar del ranking, pero no somos los primeros en estar muy tristes. Por ahora.
Observamos la consola y vemos que se enviaron 2 solicitudes más, pero una de ellas fue para recibir artículos, la otra para obtener la calificación de los jugadores. Aquí hay poco útil, recordamos la calificación del primer lugar: 61454667.

Haga clic en el botón para guardar el resultado.



Se envió otra solicitud de URL.

https://rb-prjct-crtns-gamebackend-eu.herokuapp.com/api/high-scores/games/8970c40a-98f0-4395-85c8-66177fb38af0/runs/4f89d56d-884e-42e8-909d-d1e7547cc1d8/submit

con parámetros

{
    "data":{
        "id":"8970c40a-98f0-4395-85c8-66177fb38af0",
        "type":"runs",
        "attributes":{
            "score":11041900
        }
    }
}

Es obvio que el enlace se forma a partir de la identificación estática del juego y la identificación de nuestra sesión. En los parámetros, se transfiere la cuenta, que será guardada por nosotros y participará en la calificación.



En la siguiente etapa, se abre una página con un formulario, que se carga en un iframe. Notamos que nuestra identificación de sesión está involucrada en el enlace:
https://redbull.jotform.com/93071907238864&runid=4f89d56d-884e-42e8-909d-d1e7547cc1d8&runscore=11041900&redirect=https://maze.redbull.com

Después de enviar el formulario, recibimos una confirmación.



Ahora repetimos las mismas solicitudes, pero no a través del navegador.

Usaré al cartero.

Enviamos una solicitud de

https://rb-prjct-crtns-gamebackend-eu.herokuapp.com/api/high-scores/games/8970c40a-98f0-4395-85c8-66177fb38af0/runs




Recibió la respuesta:

{
    "data": {
        "attributes": {
            "finished_at": null,
            "game_day": 114,
            "game_week": 17,
            "score": null
        },
        "id": "f95dad7c-eecf-4d3a-88e9-a32661a484e4",
        "links": {
            "self": "https://rb-prjct-crtns-gamebackend-eu.herokuapp.com/runs/f95dad7c-eecf-4d3a-88e9-a32661a484e4"
        },
        "relationships": {},
        "type": "runs"
    },
    "included": [],
    "links": {
        "self": "https://rb-prjct-crtns-gamebackend-eu.herokuapp.com/runs/f95dad7c-eecf-4d3a-88e9-a32661a484e4"
    }
}

Lo más importante aquí

id = f95dad7c-eecf-4d3a-88e9-a32661a484e4

Ahora forme un enlace para obtener la calificación. Necesitaremos nuestra identificación de sesión y un resultado que será más que el registro actual 61454667. Por estética, tome el primer dígito del número 2 * pi, solo un poco más que el registro.

Enviar una solicitud

https://rb-prjct-crtns-gamebackend-eu.herokuapp.com/api/high-scores/games/8970c40a-98f0-4395-85c8-66177fb38af0/runs/f95dad7c-eecf-4d3a-88e9-a32661a484e4/leaderboard?score=62831853&filter[interval]=none



En la respuesta vemos que ya somos los primeros en la lista, ahora guardaremos el resultado.

Enviaremos una solicitud a

https://rb-prjct-crtns-gamebackend-eu.herokuapp.com/api/high-scores/games/8970c40a-98f0-4395-85c8-66177fb38af0/runs/f95dad7c-eecf-4d3a-88e9-a32661a484e4/submit

En esta solicitud, es importante especificar los atributos de los encabezados.





¡Súper! Todo salió bien, recibí la confirmación del resultado. Ahora debe enviar los datos de contacto para que RedBull nos contacte.

Para hacer esto, simplemente abra un enlace en el navegador con el formulario con nuestra identificación de sesión.

https://redbull.jotform.com/93071907238864&runid=f95dad7c-eecf-4d3a-88e9-a32661a484e4&runscore=61454667&redirect=https://maze.redbull.com



Rellenar el formulario.

Nosotros enviamos.



¡Recibimos confirmación!

La competencia ya terminó, se extendió hasta el 31 de enero de 2020.

PD Al momento de la publicación, el sorteo se completó, durante la campaña no participamos en él, no reclamamos la victoria. Todas las descripciones son solo para fines informativos. No se persiguieron valores comerciales ni de otro tipo por estas acciones.

All Articles