漏洞挖掘之SSRF漏洞
SSRF
漏洞原理
SSRF(Server-Side Request Forgery,服务器端请求伪造)。是⼀种利用服务端发起请求的⼀个安全漏洞。⼀般情况下,SSRF攻击的⽬标是从外网⽆法访问的内部系统。SSRF 形成的原因⼤都是由于服务端提供了从其他服务器应用获取数据的功能且没有对⽬标地址做过滤与限制。
漏洞复现
Pikachu靶场
Discuz3.x全版本SSRF
漏洞验证
Python编写端口扫描脚本
漏洞危害
- 端口扫描(一般传递的是内网ip地址;扫描端口,探测内网主机,访问一些公网无法访问到的组件:redis)
- 攻击运⾏在内网或本地的有漏洞程序(⽐如溢出);
- 可以对内网Web应用进⾏指纹识别,原理是通过请求默认的文件得到特定的指纹
- 使用网络协议读取本地文件
- DDOS攻击(请求⼤文件,始终保持连接keep-alive always)
常用的协议
Dict协议,字典服务器器协议,dict是基于查询响应的TCP协议,它的⽬标是超越Webster protocol,并允许客⼾端在使用过程中访问更多字典。Dict服务器和客⼾机使用TCP端⼝2628
Gopher协议是互联网上使用的分布型的文件搜集获取网络协议。gopher协议是在HTTP协议出现之前,在internet上常⻅重用的协议,但是现在已经用的很少了
File协议是本地文件传输协议,File协议主要用于访问本地计算机中的文件,就如同在Windows资源管理器中打开文件⼀样
协议名 | 用处 |
---|---|
Gopher协议 | 对⽬标发起攻击的主要协议,主体部分需要进⾏url编码 |
Dict协议 | 探测端口和版本信息 |
FTP协议 | 只能探测是否存在FTP |
HTTP协议 | 用于简单的漏洞验证 |
File协议 | 读取文件 |
漏洞挖掘
寻找相关业务点
- 网页翻译
- 云盘离线下载
- 根据提供的url采集信息,如获取超链接的标题等内容进⾏显⽰,邮件
- 加载远程文件:通过URL地址加载或下载图片,导入远程视频
- 云服务厂商
寻找参数关键字
未公开的api实现以及其他扩展调用URL的功能,可以利用google语法加上这些关键字去寻找SSRF漏洞
filename
share
wap
url
link
src
source
target
u
display
sourceURl
imageURL
domain
……
参考:https://xz.aliyun.com/t/2115