如何“破解” RedBull

实际上,将文章命名为“如何在比赛中获得积分以赢得整个RedBull冰箱”更正确。顺便说一句,我们办公室里已经有带饮料的冰箱了。



当果汁,苏打水和其他饮料再次送到办公室时,我发现了一个宣传比赛的传单,其本质是完成比赛,获胜者将赢得一台用于饮用能量饮料的冰箱。

第二个冰箱不会伤害我们-我们只是扩大了规模,并拥有了新的办公室。因此,我遵循了链接,并决定尝试自己的运气,因为尝试失败,并且最终在评分结束时出现在某处。游戏要尽可能快地穿越迷宫的各个层次。

现在,您需要戴上墨镜,打开vpn,各种代理等。

让我们转到工作上


充分了解网络上的任何游戏都是一连串的要求,并且知道开发市场上有很多业余爱好者,所以我决定从另一个方向尝试运气,突然间我偶然发现了游戏中的漏洞。并不是我需要这么多冰箱,只是引起了我的兴趣。

http://redbull.ru/work
我们将在浏览器中跟踪请求,此后,我们将尝试发送相同的请求,但使用更改后的值。



第一步是启动游戏的请求:

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

同时,我们在链接中注意到id = 8970c40a-98f0-4395-85c8-66177fb38af0
几次我们在浏览器中刷新页面,从另一个ip打开页面,在另一个浏览器中,此参数不变,我们假定这是游戏的常量标识符。

我们还注意到在数据类型头参数中

accept: 
application/vnd.api+json

响应此请求,我们得到了答案:



{
    "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"
    }
}

在答案中,您会注意到不同的属性以及另外一个属性id = 4f89d56d-884e-42e8-909d-d1e7547cc1d8,这似乎是我们游戏的个人标识符。

我们开始游戏。



我们遵守要求。我们看到没有新的东西出现,也就是说,游戏通过的任何阶段都不会触发。以防万一,我检查了一下,也许网络套接字上出现了一些东西-那里也空着。



在游戏结束时,我们在排名中名列前茅,但我们并不是第一个感到非常难过的人。目前。
我们看一下控制台,发现又发送了2个请求,但其中一个用于接收文章,另一个用于获得玩家评分。这里没有什么用,我们记得第一名的评分-61454667。

单击按钮保存结果。



另一个网址请求已发送

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

带参数

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

很明显,链接是由游戏的静态ID和我们会话的ID组成的。在参数中,帐户已转移,这将由我们保存并参与评分。



在下一阶段,将打开一个带有表单的页面,该页面将加载到iframe中。我们注意到链接中涉及到我们的会话ID:
https://redbull.jotform.com/93071907238864&runid=4f89d56d-884e-42e8-909d-d1e7547cc1d8&runscore=11041900&redirect=https://maze.redbull.com

提交表格后,我们会收到确认。



现在,我们重复所有相同的请求,但不通过浏览器。

我将使用邮递员。

我们发送了一个请求

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




收到答案:

{
    "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"
    }
}

这里最重要

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

现在形成一个链接以获得评级。我们将需要我们的会话ID,其结果将比当前记录61454667大。为美观起见,请使用数字2 * pi的第一个数字,仅比记录多一点。

发送请求

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



在答案中,我们看到我们已经是列表中的第一名,现在我们将保存结果。

我们将向发送请求

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

在此请求中,指定标头的属性很重要。





超!一切正常,收到结果确认。现在,您需要发送联系方式,以便RedBull与我们联系。

为此,只需在浏览器中打开一个带有会话ID的表单的链接即可。

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



填写表格。

我们发送。



我们得到确认!

比赛已经结束,一直持续到2020年1月31日

。PS在发布之时,图纸已经完成,在竞选活动中我们没有参加,我们没有要求胜利。所有描述仅供参考。这些行动没有追求商业价值或其他价值。

All Articles