【问题标题】:Is it Meaningful to Add 'x-frame-options' in an Restful API在 Restful API 中添加“x-frame-options”是否有意义
【发布时间】:2023-03-30 05:04:01
【问题描述】:

我们正在开发一个满足各种不同事件的 RESTful API。我们进行了 Nessus 漏洞扫描以查看安全漏洞。事实证明,我们有一些泄漏导致点击劫持,我们已经找到了解决方案。为了处理问题,我已将x-frame-options 添加为SAMEORIGIN

我的问题是,既然我是一个 API,我需要处理点击劫持吗?我猜第 3 方用户应该能够通过 iframe 访问我的 API,而我不需要处理这个问题。

我错过了什么吗?你能分享你的想法吗?

【问题讨论】:

    标签: api rest x-frame-options clickjacking


    【解决方案1】:

    编辑 2019-10-07: @Taytay 的 PR 已合并,因此 OWASP 建议现在表示服务器应该发送 X-Frame-Options标题。


    原答案

    OWASP recommends clients 发送了 X-Frame-Options 标头,但没有提及 API 本身。

    我认为 API 返回点击劫持安全标头没有任何意义 - 在 iframe 中没有可点击的内容!

    【讨论】:

    • 我认为这是一个错字,因为 X-Frame-Options 是响应标头,而不是客户端标头。我已经向 OWASP 备忘单 repo 提交了一个拉取请求以修复该建议。
    • stackoverflow.com/questions/59610943/… ,@nickspoon,这只是一个类似的问题。你能分享你的想法吗
    【解决方案2】:

    OWASP recommends,您不仅发送 X-Frame-Options 标头,而且将其设置为 DENY。

    这些建议不是针对网站,而是针对 REST 服务。

    执行此操作的场景正是 OP 提到的——运行漏洞扫描。

    如果您没有返回正确的 X-Frame-Options 标头,则扫描将失败。在向客户证明您的端点是安全的时,这一点很重要。

    向您的客户提供一份通过报告要比争论为什么缺少标题无关紧要要容易得多。

    添加 X-Frame-Options 标头不应影响端点使用者,因为它不是具有 iframe 的浏览器。

    【讨论】:

    • 链接的文章部分说“另外,客户端应该发送一个 X-Frame-Options:拒绝”。 客户端。不是服务器
    • @nickspoon 我认为自从X-Frame-Options is a response header 以来,OWASP 文章中有一个错字。
    • 你是对的。在您发表评论后,我尝试以各种方式联系 OWASP(在他们移至 github 之前),但从未收到任何回复。 @Taytay 现在已经成功更新了这篇文章,所以我更新了我的答案
    • stackoverflow.com/questions/59610943/…,@Stev。这是一个类似的问题。你能补充一下你的想法吗
    • 虽然无可否认的明智建议,但这并不能回答 OP 关于在 API 响应中提供此标头是否有意义的问题。它没有比X-Powered-By 标头更多的意义;客户根本不会注意到它。
    猜你喜欢
    • 2018-06-27
    • 1970-01-01
    • 2017-07-15
    • 2011-12-18
    • 2017-08-02
    • 2014-05-10
    • 2014-02-11
    • 1970-01-01
    相关资源
    最近更新 更多