可以将 https 请求标头伪造为安全威胁吗?
Posted
技术标签:
【中文标题】可以将 https 请求标头伪造为安全威胁吗?【英文标题】:Can a https request header be faked as a security threat? 【发布时间】:2019-05-27 07:21:11 【问题描述】:我正在开发一个应用程序,并希望使用 http post 请求将数据从客户端发送到服务器,服务器使用客户端的原始 url 来允许使用我们的服务,所以我的问题是,可以来自客户端的 http url 被伪造为访问我的服务的安全威胁,如果是这样,我应该采取哪些其他替代方案?
例如,如果在 foo.com 的页面上运行的客户端脚本想要从 bar.com 请求数据,则在请求中它必须指定标头 Origin: http://foo.com
,并且 bar 必须以 Access-Control-Allow-Origin: http://foo.com
响应.
有什么方法可以阻止来自站点 roh.com 的恶意代码简单地欺骗标头 Origin:http://foo.com
来请求来自 bar 的页面?
【问题讨论】:
HTTPS 请求的任何部分都与 HTTP 请求一样具有任意性。 “S”在这方面没有添加任何内容。 【参考方案1】:有什么可以简单地阻止来自 roh.com 站点的恶意代码 欺骗标头 Origin
浏览器是。 CORS 限制和标头仅在浏览器中有效,并且浏览器对它们的控制非常严格。这专门用于防止用户可能在不知不觉中访问的随机站点上的随机脚本进行偷渡式攻击。这是为了保护浏览器的用户。
但是,绝对没有什么可以阻止流氓服务器向您的服务器发送带有任意标头的任意 HTTP 请求。我现在可以使用 curl 等从命令行执行此操作。这些标头不会对您的服务器构成任何形式的保证或保护。
【讨论】:
【参考方案2】:'服务器使用来自客户端的原始 url 来允许使用我们的服务' 来源网址很容易被伪造。 添加带有令牌的登录以防止这种情况发生。
【讨论】:
以上是关于可以将 https 请求标头伪造为安全威胁吗?的主要内容,如果未能解决你的问题,请参考以下文章