我们正在开发一个restful API来完成一些不同的事件。我们进行了 Nessus 漏洞扫描以查看安全漏洞。事实证明,我们有一些漏洞会导致点击劫持,并且我们已经找到了解决方案。为了处理问题,我已将
x-frame-options
添加为 SAMEORIGIN
。
我的问题是,既然我是一个 API,我是否需要处理点击劫持?我想第 3 方用户应该能够通过 iframe 访问我的 API,而我不需要处理这个问题。
我错过了什么吗?可以分享一下你的想法吗?
OWASP 建议不仅发送 X-Frame-Options 标头,而且将其设置为 DENY。
这些建议不是针对网站,而是针对 REST 服务。执行此操作有意义的场景正是OP提到的场景 - 运行漏洞扫描。
如果您没有返回正确的 X-Frame-Options 标头,扫描将失败。当向客户证明您的端点是安全的时,这一点很重要。
向客户提供一份合格报告比争论为什么缺少标头并不重要要容易得多。
添加 X-Frame-Options 标头不应影响端点使用者,因为它不是具有 iframe 的浏览器。
GOTCHA:将网络钓鱼提升到一个全新的水平。
该攻击本质上是通过操纵敏感信息来欺骗目标用户向攻击者泄露信息。因此,无论是X-Frame-Options 还是 Content-Security-Policy(使用 frame-ancestors 指令),API 响应都应限制为任意来源的框架。