SSRF & XSS
https://jira.you.com//plugins/servlet/oauth/users/icon-uri?consumerUri=http://www.google.co.uk
Atlassian OAuth 插件中从 1.3.0 版本到 1.9.12 版本之前,以及从 2.0.0 版本到 2.0.4 版本之前的 IconUriServlet 允许远程攻击者通过服务器端请求伪造(SSRF)访问内部网络资源的内容和/或执行 XSS 攻击。
根据 Atlassian Jira 的说明,以下版本存在漏洞:
在服务器端请求伪造(SSRF)攻击中,攻击者可以滥用服务器上的功能来读取或更新内部资源。攻击者可以提供或修改一个 URL,让服务器上运行的代码读取或向其提交数据,通过精心选择 URL,攻击者可能能够读取服务器配置(如 AWS 元数据)、连接到内部服务(如启用了 HTTP 的数据库),或者对不应暴露的内部服务执行 POST 请求。
目标应用程序可能具有从 URL 导入数据、将数据发布到 URL 或以其他方式从可被篡改的 URL 读取数据的功能。攻击者通过提供完全不同的 URL 或操纵 URL 的构建方式(如路径遍历等)来修改对该功能的调用。
当被操纵的请求到达服务器时,服务器端代码会拾取被操纵的 URL 并尝试向该 URL 读取数据。通过选择目标 URL,攻击者可能能够从未直接暴露在互联网上的服务读取数据:
云服务器元数据 - 诸如 AWS 等云服务在 http://169.254.169.254/latest/meta-data/ 上提供 REST 接口,其中可以提取重要的配置,有时甚至包括认证密钥
数据库 HTTP 接口 - 诸如 MongoDB 等 NoSQL 数据库在 HTTP 端口上提供 REST 接口。 Docker 和 Kubernetes - 如果本地端口在内部暴露,攻击者可以创建/删除 Pod 和容器,并获取其他机密信息。
如果数据库预期仅限内部访问,则可能禁用认证,攻击者便可提取数据 内部 REST 接口
文件 - 攻击者可能能够使用 file:// URI 读取文件 攻击者还可能利用此功能将不可信数据导入到预期仅从可信来源读取数据的代码中,从而绕过输入验证。