Web View
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
### SSRF 漏洞利用方式
|
||||
|
||||
**1. 端口扫描**
|
||||
|
||||
这是最基础也最常见的利用方式。通过控制服务器向内网 IP 的不同端口发起请求,并根据响应时间、响应内容或 HTTP 状态码来判断端口是否开放
|
||||
|
||||
- **利用方式:**
|
||||
- **GET 请求:** `http://192.168.1.1:22`
|
||||
- **响应判断:** 如果端口开放,通常会有 HTTP 响应;如果端口关闭或服务不存在,请求会超时或返回连接失败。通过脚本自动化这个过程,可以快速绘制出内网的端口图
|
||||
|
||||
**2. 访问内网应用**
|
||||
|
||||
如果服务器能够访问内网,攻击者就可以通过SSRF漏洞来探测和攻击那些通常无法从外部网络访问的应用
|
||||
|
||||
- **利用方式:**
|
||||
- **访问管理后台:** 很多公司的内部管理系统、OA、数据库管理工具等都在内网运行。攻击者可以通过SSRF 漏洞直接访问这些后台,如果存在弱口令,就可能直接接管系统
|
||||
- **攻击内网服务:** 利用 SSRF 访问内网中的 Redis、MySQL、Elasticsearch、Memcached 等服务。例如,利用 **Gopher 协议** 攻击 Redis 服务器,可以写入 Webshell 或者 SSH key,从而获得服务器的控制权
|
||||
- **示例:** `gopher://127.0.0.1:6379/_*2%0D%0A$4%0D%0Ainfo%0D%0A` 这个 payload 可以向本地的 Redis 服务发送 `info` 命令,获取 Redis 信息
|
||||
- **利用 `file://` 协议:** 如果没有协议限制,可以直接读取服务器本地文件,如 `/etc/passwd`、`/etc/hosts`、`.bash_history` 等,从而获取敏感信息
|
||||
- **示例:** `file:///etc/passwd`
|
||||
|
||||
**3. 攻击本地文件包含(LFI)**
|
||||
|
||||
在某些场景下,SSRF 可以与文件包含漏洞结合利用。例如,当目标网站的 URL 处理逻辑是 `file=http://example.com/a.txt` 时,你可以将 `http` 替换为 `file`,从而实现本地文件读取
|
||||
|
||||
- **利用方式:**
|
||||
- `http://target.com/?url=file:///etc/passwd`
|
||||
|
||||
**4. 绕过防火墙**
|
||||
|
||||
许多 Web 应用服务器会部署在防火墙后面,防火墙通常只允许特定的出站请求。SSRF 漏洞可以利用服务器作为跳板,绕过防火墙的限制,直接攻击内网
|
||||
|
||||
**5. 探测云服务元数据**
|
||||
|
||||
在云服务环境(如 AWS, Google Cloud, Aliyun)中,服务器通常有一个特殊的元数据地址,例如 **`http://169.254.169.254/`**。这个地址只在虚拟机内部可访问,其中包含了非常敏感的信息,比如 **IAM 角色凭证、密钥、实例信息**等
|
||||
|
||||
- **利用方式:**
|
||||
- `http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name`
|
||||
- 通过 SSRF 漏洞访问这个地址,攻击者可以获取临时密钥,利用这些密钥就能以该角色的权限访问云服务,比如操作 S3 存储桶、启动或停止虚拟机等,造成巨大的安全风险
|
||||
|
||||
**6. DoS 攻击**
|
||||
|
||||
攻击者可以利用 SSRF 漏洞让服务器向自身或内网中的关键服务发起大量的请求,从而造成拒绝服务
|
||||
|
||||
- **利用方式:**
|
||||
- `http://localhost:80`
|
||||
- 通过循环请求 `http://localhost/`,可以耗尽服务器资源,使其无法正常提供服务
|
||||
Reference in New Issue
Block a user