我最近在一个网站上发现了以下 HTTP 标头,至少可以将其描述为高价值目标:
Access-Control-Allow-Origin: http://localhost:8888
Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS
Access-Control-Allow-Headers: [some custom non-standard headers]
这对我来说看起来很奇怪,或者至少不符合CORS RFC:
Access-Control-Allow-Origin 标头指示是否可以通过在响应中返回 Origin 请求标头的值“*”或“null”来共享资源。
返回的值显然不是我的 Origin 请求标头(或*
或null
)。所以,我的问题是:
- 发送这些标头有什么好的理由吗?对我来说,这似乎是测试中使用的东西意外泄漏到生产中。
- 是否有可能以任何方式利用这一点?对我来说似乎不太可能,因为只有极少数用户会在该端口上运行任何东西,而且攻击者无论如何都无法控制它。但也许我忽略了一些东西。
- 这是否值得联系相关网站以告知他们该问题?