首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何建立一个安全的附属网络

如何建立一个安全的附属网络
EN

Security用户
提问于 2014-04-17 06:19:15
回答 2查看 299关注 0票数 2

我将建立一个演示附属网络,这需要被保护。假设我有一个名为“附属网络管理器”的web应用程序,它管理与我的在线书店相关的所有分支机构。

“代销商网络管理器”提供了一个API,使出版商的网站(附属网站)能够获取书店网站的徽标,从而可以在出版商的网站上显示书店徽标。

让我们假设以下场景:有一个发布者网站A,具有唯一的ID 123。最终用户访问网站,点击徽标,被重定向到在线书店并购买一本书。系统从请求中获取唯一ID,并知道此请求来自publisher A。然后,它会记住客户端从publisher A访问书店,所以publisher A根据事务的数量收取佣金。

这是可行的,但存在一个安全问题:假设我们有另一个发布者B,具有唯一的ID 456。然后,publisher B的攻击者可以捕获publisher A的请求,并将唯一ID更改为456。因此,B出版商将获得A出版商的佣金。

如何解决此安全问题,并确保在发送请求时攻击者无法更改唯一ID?或者换句话说:在这种情况下,我如何进行身份验证?

EN

回答 2

Security用户

回答已采纳

发布于 2014-04-17 12:56:36

当我正确理解您时,附属公司在其网站上添加了与HTML代码类似的横幅:

代码语言:javascript
复制
<a href="http://example.com/store.php?UniqueID=123"><img src="http://example.com/banner.png"></a>

您的攻击场景是,当访问者单击该横幅时,MITM将访问者请求中的UniqueID替换为另一个。

要想从利用附属网络中获得可观的收入,就必须能够在大量的连接上播放MITM。当攻击者无法控制访问者和服务器之间的任何网络基础设施时,中间人攻击已经很难执行。所以你提出的方案不太可能,除非其中一个分支机构也是一个拥有大量犯罪能量的ISP。

但是,即使攻击者完全控制了连接,当您使用TLS时,也几乎不可能执行MITM攻击。因此,只需要求您的子公司链接回您的书店使用HTTPS-链接,而不是HTTP。当你有一个在线商店,你应该支持TLS无论如何。

代码语言:javascript
复制
<a href="https://example.com/store.php?UniqueID=123"><img src="http://example.com/banner.png"></a>
票数 1
EN

Security用户

发布于 2014-04-17 06:54:09

基本上你需要做的是:

  1. 验证请求来自经过身份验证的用户,即允许使用API的用户(或服务);以及
  2. 确保请求在传输过程中不被更改,通常称为中间人攻击

您可以在每个发布者的网站和使用此方法在HTTPS连接上验证它们.上安装X.509证书。然而,这似乎并不常见。

我建议对OAuth 2.0标准做一些研究。它解决了这两个问题,并且大多数web应用程序框架都存在软件库。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/56016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档