web基础漏洞-ssrf

发布时间 2023-10-21 19:44:57作者: 挖洞404

手把手用实战教你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功能上寻找

  1. 分享:通过URL地址分享网页内容
  2. 转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览
  3. 在线翻译:通过URL地址翻译对应文本的内容。提供此功能的国内公司有百度、有道等
  4. 图片加载与下载:通过URL地址加载或下载图片
  5. 图片、文章收藏功能
  6. 未公开的api实现
  7. 网站采集、网页抓取的地方。
  8. 头像的地方。(远程加载头像)
  9. 一切要你输入网址的地方和可以输入ip的地方。

(2)从URL关键字中寻找

share
wap
url
link
src
source
target
u
3g
display
sourceURl
imageURL
domain
......