web基础漏洞-ssrf
手把手用实战教你SSRF漏洞从入门到精通 - FreeBuf网络安全行业门户
(1 封私信 / 38 条消息) ssrf业务 - 搜索结果 - 知乎 (zhihu.com)
1、介绍
ssrf,server-server request forgery服务端到服务端的请求伪造,或者server-side request forgery服务端侧的请求伪造。攻击的一般是服务端未对外开放的主机或端口。
由于服务端提供了从其他服务器应⽤获取数据的功能,但没有对地址和协议等做过滤和限制。使得攻击者可以利⽤存在缺陷的web应⽤作为代理,攻击其远程和本地的服务器。
- 对外网、服务器所在的内网、本地进行端口扫描,获取一些服务的Banner信息
- 攻击运行在内网或本地的应用程序
- 对内网Web应用进行指纹识别,识别企业内部的资产信息
- 攻击内外网的Web应用,主要是使用GET请求就可以实现的攻击(比如: Struts2、 sqli)
- 下载内网资源(如:利用
file
协议读取本地文件等) - 进行跳板
- 无视cdn
- 利用Redis未授权访问,HTTP CRLF注入实现getshell
2、php相关函数
-
file_get_contents(把整个文件读入一个字符串中)
-
fsockopen
-
curl_exec
3、利用的协议
dict协议 (字典协议,探测端口指纹信息,写入和反弹shell)
file协议 (读取文件,如果遇到特殊字符使用filter以base64读取)
http协议 (常用于file_get_contents函数)
ftp协议 (扫描端口极其好用)
gopher协议
4、漏洞防护
1.统一错误信息,避免用户可以根据错误信息来判断远程服务器端口状态
2.限制请求的端口为HTTP常用的端口,比如80,443,8080.8088等
3.设置一个白名单,并且如果对方读取环回口地址立马终止运行
4.禁用不需要的协议,仅仅允许HTTP和HTTPS
5、业务场景
容易出现SSRF漏洞的地方
(1)从WEB功能上寻找
- 分享:通过URL地址分享网页内容
- 转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览
- 在线翻译:通过URL地址翻译对应文本的内容。提供此功能的国内公司有百度、有道等
- 图片加载与下载:通过URL地址加载或下载图片
- 图片、文章收藏功能
- 未公开的api实现
- 网站采集、网页抓取的地方。
- 头像的地方。(远程加载头像)
- 一切要你输入网址的地方和可以输入ip的地方。
(2)从URL关键字中寻找
share
wap
url
link
src
source
target
u
3g
display
sourceURl
imageURL
domain
......