【发布时间】:2020-09-22 06:19:19
【问题描述】:
我目前正在使用 Invision 论坛来托管我的网站,
我们正在使用他们的 API 密钥来提取用户数据并通过我们的启动器登录。
我注意到返回到我们的启动器的所有信息都在计划文本 (JSON) 中。这使得某人很容易将我们的流量重定向到启动器并插入一个虚假的 json 文件。
简而言之,破解启动器/登录系统。
我需要知道是否可以调用任何验证方法,以确保信息是从我的主机发送的,而不是从中间的另一个人发送的。
该网站是 HTTPS。
谢谢。
【问题讨论】:
-
如果对 API 的请求(返回 JSON 的地方)也使用 HTTPS,并且是在服务器端完成的,那么任何人都应该很难进行 MITM 攻击。我们必须看到代码和网络架构的更多细节
-
@Adyson,我可以确认我们的主机正在运行 HTTPS。在我们这边,我们通过 RestSharp 库进行调用 - 但问题是,当我们通过网站的 url 调用 GET 时,信息以计划文本的形式返回。为了解决这个问题,我们已经转移到 OAuth 而不是 API 密钥。但是我仍在努力确认返回的 json 的有效性。目前正在研究检查 SSL 证书,有什么建议吗?
-
“我们正在使用他们的 API 密钥来提取用户数据并通过我们的启动器登录”...您的意思是说您可以使用您的 API 密钥和之前访问用户的数据用户实际上已经过身份验证?如果是这样,那就是你需要解决的问题。
-
一旦用户通过身份验证并获得了 OAuth 令牌,启动器代码应该只关心确认令牌的有效性......对 Invision API 的任何请求都应该具有用户的权限,而不是您的私有 API 密钥
-
“我可以确认我们的主机正在运行 HTTPS”...这不是我问的。我询问是否使用 HTTPS 访问 API。当您向 Invision 发出请求时,是否使用 HTTPS 完成?
标签: c# validation https invision