type
status
date
slug
summary
tags
category
icon
password
SSRF(Server-Side Request Forgery:服务器端请求伪造)
其形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制
导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据
数据流:攻击者-----服务器----目标地址
根据后台使用的函数的不同,对应的影响和利用方法又有不一样
PHP中下面函数的使用不当会导致SSRF:
如果一定要通过后台服务器远程去对用户指定("或者预埋在前端的请求")的地址进行资源请求,则请做好目标地址的过滤。
绕过方法
url解析规则
IP地址进制转换
302跳转
DNS重绑定
@符
对于一个 url 的访问实际上是以 @符后为准的,比如说 xxxx.com@10.10.10.10,则实际上访问的是 10.10.10.10 这个地址
2.2、302跳转
网址后加 xip.io
其原理是例如 10.10.10.10.xip.io 会被解析成 10.10.10.10
2.3、数字IP Bypass
IP进制转换/Enclosed Alphanumerics/特殊地址
进制转换
ip 转换为八进制十进制十六进制这种,同样也可以正常访问
Enclosed Alphanumerics
由英文字母数字组成的Unicode字符集,位于圆圈,括号或其他未封闭的封闭空间内,或以句号结尾。
特殊地址:
http://0/ # 0.0.0.0可以直接访问到本地http://127。0。0。1 # 绕过后端正则规则http://localhost/
1
2
3
2.4、短网址绕过
2.5、添加端口号http://127.0.0.1:8080
1
2.6、协议限制绕过
当url协议限定只为http(s)时,可以利用follow redirect 特性
构造302跳转服务,
结合dict:// file:// gopher://
2.7、DNS重绑定
SSRF 漏洞的验证
ssrf漏洞可分为有回显型和无回显型,有回显型ssrf可以直接通过页面加载出目标资产,可先尝试加载http://www.baidu.com 页面确认有ssrf,如果成功的话,可进一步将百度换成内网IP,通过fuzz扫描内网资产。
无回显型ssrf的检测需要先配合dnslog平台,测试dnslog平台能否获取到服务器的访问记录,如果没有对应记录,也可能是服务器不出网造成的,利用时可以通过请求响应时间判断内网资产是否存在,然后再利用内网资产漏洞(比如redis以及常见可RCE的web框架)证明漏洞的有效性。
3.1、基本判断(排除法)http://www.douban.com/***/service?image=http://www.baidu.com/img/bd_logo1.png
1
排除法一:
我们先验证,请求是否是服务器端发出的,可以右键图片,使用新窗口打开图片,如果浏览器上地址栏是http://www.baidu.com/img/bd_logo1.png,说明不存在SSRF漏洞。
排除法二:
你可以使用burpsuite等抓包工具来判断是否不是SSRF,首先SSRF是由服务端发起的请求,因此在加载图片的时候,是由服务端发起的,所以在我们本地浏览器的请求中就不应该存在图片的请求,在此例子中,如果刷新当前页面,有如下请求,则可判断不是SSRF。(前提设置burpsuite截断图片的请求,默认是放行的)
3.2、实例验证
经过简单的排除验证之后,我们就要验证看看此URL是否可以来请求对应的内网地址。在此例子中,首先我们要获取内网存在HTTP服务且存在favicon.ico文件的地址,才能验证是否是SSRF漏洞。
找存在HTTP服务的内网地址:
一、从漏洞平台中的历史漏洞寻找泄漏的存在web应用内网地址
二、通过二级域名暴力猜解工具模糊猜测内网地址
example:ping xx.xx.com.cn
可以推测10.215.x.x 此段就有很大的可能: http://10.215.x.x/favicon.ico 存在。
防御方法
1,过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。
2, 统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。
3,限制请求的端口为http常用的端口,比如,80,443,8080,8090。
4,白名单内网ip。避免应用被用来获取获取内网数据,攻击内网。
5,禁用不需要的协议。仅仅允许http和https请求。可以防止类似于file:///,gopher://,ftp:// 等引起的问题。
————————————————
版权声明:本文为CSDN博主「璀璨星☆空﹌」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_48904485/article/details/123653514