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

SSRF 攻击原理

SSRF(服务端请求伪造)指攻击者诱导服务器向任意地址发起请求,从而访问内网资源或进行端口探测。

考点精讲

  1. 原理:服务器端存在可发起请求的功能(如抓取 URL、加载图片),其 URL 参数可控,攻击者传入内网地址或特殊协议,服务器代为发起请求。利用方式:让服务端访问内网指纹文件判断 CMS、使用 file/dict/gopher/ftp 协议、攻击内网 Web 应用、判断内网主机存活(端口是否开放)、发起 DoS 攻击等。

记忆技巧

服务器代发请求 + 控制 url 参数 = SSRF
SSRF 主打内网,不是只访问外网

常见误区

  • 以为 SSRF 只能访问外网——主要危害在打内网
  • 忽略 file:// 协议读文件的能力
  • 混淆 SSRF(服务端请求伪造)与 CSRF(跨站请求伪造)

真题思路

  • 【示例】 SSRF 漏洞中,「服务器代发请求」的对象通常是()
    客户端浏览器 服务器本身 攻击者的主机 目标网站的数据库
    答案:B
    解析:SSRF 是攻击者诱导服务器(服务端)向任意地址发起请求,代发请求的主体是服务器本身,B 正确。

常见问题

Q:SSRF 的原理是什么?

A:服务器端存在可发起请求的功能(如抓取 URL、加载图片),其 URL 参数可控,攻击者传入内网地址或特殊协议,服务器代为发起请求,从而访问内网或探测端口。

Q:SSRF 能造成哪些危害?

A:访问内网指纹文件判断 CMS、使用 file/dict/gopher/ftp 协议、攻击内网 Web 应用、判断内网主机存活(端口是否开放)、发起 DoS 攻击等。

Q:SSRF 和 CSRF 有什么区别?

A:SSRF 是「服务端请求伪造」,利用服务器代发请求打内网;CSRF 是「跨站请求伪造」,诱导受害者在已登录状态下发起非本意请求。两者针对的对象和原理不同。

Q:如何判断一个功能点是否存在 SSRF?

A:观察该功能是否由服务器根据可控 URL 发起请求;尝试把 URL 参数改为自己的监听地址(或内网地址/特殊协议),看服务器是否发起了相应请求。

相关知识

教材出处:第5章 PTE-SSRF SSRF 攻击原理

AI 助教

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

随时为您答疑解惑

开始答疑