gpt4 book ai didi

reverse-engineering - 对 Xbox One Smartglass 应用程序的 API 授权 header 进行逆向工程

转载 作者:行者123 更新时间:2023-12-04 08:01:21 25 4
gpt4 key购买 nike

由于微软出于某种愚蠢的原因决定将 Xbox Live 用户的个人资料页面放在登录墙后面,因此我不得不寻找其他方法来确定 Xbox Live 用户是否在线。

为此,我使用了 mitmproxy 来确定适用于 iOS 的 Xbox One Smartglass 应用程序发出的请求。似乎对于任何需要身份验证的请求,应用程序都会使用“XBL3.0 x={computed auth token}”填充“Authentication” header 字段。

我发现该应用程序通过向 https://login.live.com/oauth20_token.srf 发出 POST 请求来获取访问 token 。并传入表单编码数据,其中属性之一是用户的“refresh_token”。您可以通过使用 mitmproxy 简单地查看这些请求中的任何一个来获取此刷新 token 。

然后应用程序继续向 https://user.auth.xboxlive.com/user/authenticate 发出 POST 请求。传递各种来源我无法确定的信息。以下是此请求的示例 JSON 负载:

{
"Properties": {
"AuthMethod": "RPS",
"RpsHeader": "<data removed for safety>",
"RpsTicket": "<data removed for safety>",
"SiteName": "user.auth.xboxlive.com"
},
"RelyingParty": "http://auth.xboxlive.com",
"TokenType": "JWT"
}

此请求的响应包含以下 JSON:
{
"DisplayClaims": {
"xui": [
{
"uhs": "<data removed for safety>"
}
]
},
"IssueInstant": "2014-08-02T23:44:56.5868148Z",
"NotAfter": "2014-08-16T23:44:56.5868148Z",
"Token": "<data removed for safety>"
}

连接在一起的“uhs”和“token”的内容似乎是“XBL3.0 x=”授权 header 中缺少的身份验证 token 。

问题是我完全不熟悉微软的网络堆栈,经过数小时的搜索,我无法弄清楚“RpsHeader”和“RpsTicket”的值来自哪里。

最佳答案

我相信 RPS 是指使用 live/microsoft 帐户进行联合登录。所以 RpsHeader 和 RpsTicket 是从 post 到 login.live.com 收到的信息。然而,如何根据从 live.com 收到的数据创建这些数据可能更难弄清楚,但我猜它是从 love.com 响应中获取一些数据并对其进行 base64 编码或其他东西。

关于reverse-engineering - 对 Xbox One Smartglass 应用程序的 API 授权 header 进行逆向工程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25100411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com