我正在开发一个授权API,我的公司希望在内部和某些客户的外部API中使用该API。我们希望不必将请求可能来自的每个域都列入白名单,但这似乎是XHR的withCredentials
选项为true
时Web浏览器旨在强制执行的默认行为。
我们可以通过让我们的API返回请求的Origin
标头所包含的内容作为API响应的access-control-allow-origin
标头的值来解决此问题,但这显然是很危险的,所以我不确定我们应该这样做。也许在我们的情况下,这是完全安全的,但我还不能说出潜在攻击的性质。
根据本文:
https://portswigger.net/research/exploiting-cors-misconfigurations-for-bitcoins-and-bounties
...这种CORS行为可被利用,足以使作者很容易从比特币交易所盗窃其他人的比特币。
但是如何?对我来说,这篇文章不清楚。
除了CORS问题外,是否还有其他漏洞需要?通过查看示例,随文章附带的幻灯片演示文稿的PDF,以及在http://ejj.io/misconfigured-cors/上被引用的文章,我还不完全了解对其他用户信息或凭据的访问在图片中的位置。>
在上图中,在我看来,“ evil.com”将不得不以某种方式欺骗用户,在CORS进入图片之前,并且如果evil.com可以这样做,则先诱使用户为evil.com提供其比特币交换凭据。那已经足够了,CORS问题不会只会使本来非常糟糕的情况变得更糟吗?
我敢肯定这不是那么简单,或者没有人会提出关于全面开放原产地政策的警报,但是我无法弄清楚这里缺少什么。
是否存在某种情况,例如,只有一个浏览器页面打开到evil.com,而用户也在访问其比特币交易所时,该数据是否允许将cookie数据传递给evil.com?似乎这也将是一个大问题,CORS或没有CORS。