En fait, il est plus correct de nommer l’article «Comment gagner des points dans la compétition pour gagner un réfrigérateur RedBull entier». Soit dit en passant, nous avons déjà un tel réfrigérateur avec des boissons dans notre bureau.
Lorsque de nouveau des jus, des sodas et d'autres boissons ont été livrés au bureau, j'ai trouvé un dépliant annonçant le concours, dont l'essence était de terminer le jeu et le gagnant gagnerait un réfrigérateur pour les boissons énergisantes.Le deuxième réfrigérateur ne nous ferait pas de mal - nous venons de nous agrandir et nous avons de nouveaux bureaux. J'ai donc suivi le lien et décidé de tenter ma chance, ma tentative a été un échec et je me suis retrouvé quelque part à la fin du classement. Le jeu devait passer par plusieurs niveaux du labyrinthe le plus rapidement possible.Maintenant, vous devez mettre des lunettes de soleil, activer vpn, toutes sortes de procurations, etc.Nous allons passer aux choses sérieuses
Comprenant parfaitement que tout jeu sur le web est une séquence de demandes, et connaissant le marché du développement, où il y a beaucoup d'amateurs, j'ai décidé de tenter ma chance dans l'autre sens et du coup je tombe sur des trous dans le jeu. Non pas que j'aie tellement besoin de ce réfrigérateur, il a juste suscité un intérêt sportif.http://redbull.ru/workNous suivrons les demandes dans le navigateur, après quoi nous essaierons d'envoyer les mêmes demandes, mais avec les valeurs modifiées.
La première étape est une demande de démarrage du jeu:https://rb-prjct-crtns-gamebackend-eu.herokuapp.com/api/high-scores/games/8970c40a-98f0-4395-85c8-66177fb38af0/runs
En même temps, nous le remarquons dans le lien id = 8970c40a-98f0-4395-85c8-66177fb38af0
.Quelques fois, nous actualisons la page dans le navigateur, elle s'ouvre à partir d'une autre IP et dans un autre navigateur, ce paramètre ne change pas, nous supposons qu'il s'agit d'un identifiant constant pour le jeu.Nous remarquons également que dans les paramètres d'en-tête du type de donnéesaccept:
application/vnd.api+json
En réponse à cette demande, nous obtenons la réponse:
{
"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"
}
}
Dans la réponse, vous pouvez remarquer différents attributs et un de plus id = 4f89d56d-884e-42e8-909d-d1e7547cc1d8
, ce qui semble être notre identifiant personnel pour le jeu.Nous commençons le jeu.
Nous observons les demandes. On voit que rien de nouveau n'apparaît, c'est-à-dire aucune étape du passage du déclencheur du jeu. Juste au cas où, j'ai vérifié, peut-être que quelque chose se passe sur les sockets Web - il est également vide là-bas.
En fin de match, nous sommes quelque part dans le classement, mais nous ne sommes pas les premiers à être très tristes. Pour l'instant.Nous regardons la console et voyons que 2 demandes supplémentaires ont été envoyées, mais l'une d'elles était pour recevoir des articles, l'autre pour obtenir la note des joueurs. Il y a peu d'utilité ici, nous nous souvenons de la note de la première place - 61454667.Cliquez sur le bouton pour enregistrer le résultat.
Une autre demande d'URL a été envoyéehttps://rb-prjct-crtns-gamebackend-eu.herokuapp.com/api/high-scores/games/8970c40a-98f0-4395-85c8-66177fb38af0/runs/4f89d56d-884e-42e8-909d-d1e7547cc1d8/submit
avec paramètres{
"data":{
"id":"8970c40a-98f0-4395-85c8-66177fb38af0",
"type":"runs",
"attributes":{
"score":11041900
}
}
}
Il devient évident que le lien est formé à partir de l'identifiant statique du jeu et de l'identifiant de notre session. Dans les paramètres, le compte est transféré, qui sera enregistré par nous et participera à la notation.
À l'étape suivante, une page avec un formulaire s'ouvre, qui est chargée dans un iframe. Nous remarquons que notre identifiant de session est impliqué dans le lien:https://redbull.jotform.com/93071907238864&runid=4f89d56d-884e-42e8-909d-d1e7547cc1d8&runscore=11041900&redirect=https://maze.redbull.com
Après avoir soumis le formulaire, nous recevons une confirmation.
Maintenant, nous répétons toutes les mêmes demandes, mais pas via le navigateur.J'utiliserai Postman.Nous envoyons une demande dehttps://rb-prjct-crtns-gamebackend-eu.herokuapp.com/api/high-scores/games/8970c40a-98f0-4395-85c8-66177fb38af0/runs
Reçu la réponse:{
"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"
}
}
Le plus important iciid = f95dad7c-eecf-4d3a-88e9-a32661a484e4
Maintenant, formez un lien pour obtenir la note. Nous aurons besoin de notre identifiant de session et d'un résultat qui sera supérieur au record actuel 61454667. Pour l'esthétique, prenez le premier chiffre du nombre 2 * pi, juste un peu plus que le record.Envoyer une demandehttps://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
Dans la réponse, nous voyons que nous sommes déjà les premiers de la liste, maintenant nous allons enregistrer le résultat.Nous enverrons une demande àhttps://rb-prjct-crtns-gamebackend-eu.herokuapp.com/api/high-scores/games/8970c40a-98f0-4395-85c8-66177fb38af0/runs/f95dad7c-eecf-4d3a-88e9-a32661a484e4/submit
Dans cette demande, il est important de spécifier les attributs des en-têtes.
Super! Tout s'est bien passé, a reçu la confirmation du résultat. Vous devez maintenant envoyer vos coordonnées afin que RedBull nous contacte.Pour ce faire, ouvrez simplement un lien dans le navigateur avec le formulaire avec notre identifiant de session.https://redbull.jotform.com/93071907238864&runid=f95dad7c-eecf-4d3a-88e9-a32661a484e4&runscore=61454667&redirect=https://maze.redbull.com
Remplir le formulaire.Nous envoyons.
Nous obtenons une confirmation!Le concours est déjà terminé, il s'est déroulé jusqu'au 31 janvier 2020.PS Au moment de la publication, le dessin était terminé, pendant la campagne nous n'y avons pas participé, nous n'avons pas revendiqué la victoire. Toutes les descriptions sont fournies à titre informatif uniquement. Aucune valeur commerciale ou autre n'a été recherchée par ces actions.