AI 助教问 AI 助教
东方瑞通 · CISP-PTE

SSRF 利用协议与绕过技巧

SSRF 利用 file/dict/gopher 等协议访问本地文件或探测内网端口,并通过进制转换、短网址、xip.io 等方式绕过过滤。

考点精讲

  1. 协议:file://(读取本地文件,如 file:///etc/passwd)、dict://(探测端口,如 dict://attacker:11111 配合 nc 监听)、gopher://(构造任意 TCP 请求)。绕过技巧:@ 符号(http://baidu.com@www.baidu.com)、IP 进制转换(十进制/八进制/十六进制)、URL 跳转、短网址、xip.io(http://xxx.192.168.0.1.xip.io 指向 192.168.0.1)、加 :80 端口绕过子网限制、127.0.0.1 变体(127.0.1、127.1 或转 16 进制/2 进制)。

记忆技巧

file 读、dict 探、gopher 打
127.0.0.1 → 127.0.1/127.1/转进制 绕过
xip.io 把任意域名指向内网 IP

常见误区

  • 以为 IP 只能十进制——可转八进制/十六进制/整数
  • 忽略 gopher 协议构造任意请求的能力
  • 忽略 xip.io 与 DNS 解析类绕过

真题思路

  • 【示例】 某 SSRF 过滤禁止了 127.0.0.1,下列哪种写法可能绕过该过滤()
    127.0.0.1 2130706433(127.0.0.1 的十进制整数形式) 直接访问外网地址 放弃探测
    答案:B
    解析:把 127.0.0.1 转为十进制整数(2130706433)等进制变体,可绕过只拦标准点分 IP 的黑名单,B 正确;A 会被拦,C、D 与绕过无关。

常见问题

Q:file、dict、gopher 协议分别有什么用?

A:file:// 读取本地文件(如 file:///etc/passwd);dict:// 探测端口(如 dict://attacker:11111 配合 nc 监听);gopher:// 构造任意 TCP 请求。

Q:如何绕过 IP 黑名单?

A:IP 进制转换(十进制/八进制/十六进制)、短网址、xip.io、@ 符号、加 :80 端口、127.0.0.1 变体(127.0.1、127.1)等。

Q:xip.io 是怎么绕过限制的?

A:xip.io 是一种把 IP 编码进域名的服务,如 http://xxx.192.168.0.1.xip.io 会解析到 192.168.0.1,从而绕过仅校验 IP 地址的过滤。

Q:@ 符号在 URL 中有什么作用?

A:URL 中 @ 之前的内容会被当作用户名/主机信息,真正访问的是 @ 之后的地址,如 http://baidu.com@www.baidu.com 实际访问 www.baidu.com,可用来绕过对主机名的校验。

相关知识

教材出处:第5章 PTE-SSRF SSRF 利用协议与绕过技巧

AI 助教

让 AI 助教带你深入学习,把你卡住的地方直接问它

随时为您答疑解惑

开始答疑