欢迎访问 内存溢出 —— 独立后端与系统工程技术博客

专注于分布式系统、Linux内核、数据库存储与后端工程实践

Web 安全之 SSRF:内网探测与云元数据窃取防御

发表于:|最后更新:|分类:安全与运维|阅读:6277 次

服务端请求伪造(SSRF)指攻击者诱导服务器发起任意网络请求,进而探测内网服务或窃取云厂商元数据凭证。

一、典型攻击目标

  • 云元数据服务:http://169.254.169.254/latest/meta-data/
  • 内网管理面板:http://10.0.0.1/admin
  • 本地回环服务:http://127.0.0.1:6379

二、防御要点

python
import ipaddress
from urllib.parse import urlparse

def is_safe_url(url: str) -> bool:
    host = urlparse(url).hostname
    try:
        ip = ipaddress.ip_address(host)
    except ValueError:
        return False
    return not (ip.is_private or ip.is_loopback or ip.is_link_local)

除 IP 黑名单外,还应强制使用白名单域名、禁用非 HTTP 协议(如 file://、gopher://),并在云环境启用 IMDSv2 令牌机制。