一、什么是SSRF
0,补充
CSRF:你的浏览器偷偷的发送了数据包
SSRF:服务器发送了数据包.
1.定义
指攻击者能够从易受攻击的web应用程序发送精心设计的请求,
从而对其他网站进行攻击。
简单说,利用某站点发送请求攻击其他目标站点(借刀杀人)
2.主流防护
WAF 防火墙 IPS
主流防护概念:防外不防内。外网吊的一批,内网low的不行
只要突进内网,基本任你驰骋
3,主要危害
SSRF原理类似代理,但是主要危害是内网渗透
注意:有的网站存在SSRF漏洞,但不一定能利用
fanyi.youdao.com //可以用
https://fanyi.baidu.com/?aldtype=16047#auto/zh //不可用
4,如何判断
用可能存在的ssrf站点,访问一下ip。
~看看IP是否发生变化
~接着访问http://127.0.0.1 , http://192.168.1.1等内网地址
看看能否访问内网地址
二、SSRF攻击(危害)
1,读取敏感文件
url=file:///c:/1.txt //如果知道路径,直接成了白盒审计了
2,探测端口
url=dict://127.0.0.1:80 //dict是渗透测试常用协议
//因为有些端口对内不对外,即仅能通过127.0.0.1:xx访问
三、实战注意
1,如何发掘ssrf:
传参出现协议头(http:// ftp://等)
传参出现文件名(index.php; xxx.html等)
注意:这种情况可能存在ssrf,也可能存在任意文件读取
或者任意文件下载
2,静态页面基本不存在漏洞
当然纯静态页面也较少
3,如何挖掘SSRF漏洞
~能够对外发起网络请求的地方,就可能存在SSRF漏洞
(get与post)
~传参里面存在了文件后缀或者协议,一定要重视。
出现协议说明,这里90%能发起请求,比如:http:// ftp://等。
出现文件后缀,说明这里可能有发起请求|任意文件下载|任意文件读取,比如:index.php; x.html等
../作用:跳出目录。
~从远程服务器请求资源:
数据库内置功能[Mysql],openrowser函数操作远程数据库[操作内网的数据库]。
4,爆端口
一般burp爆端口,就爆1~1024,稍微重要的爆到10000
当然,重要的站。最好全爆,以免漏掉什么
5,空白页面
访问的网站或者端口,网页空白,并不一定是真正的空白
往往有很多意想不到的惊喜
查看网页源代码和检查网页都可以; 一定不要直接关闭!!
6,SSRF进阶拿root权限
已知某站存在SSRF且开发6379端口,dict://127.0.0.1:6379
补充:
6379是Redis的默认端口,Redis可以看作一个数据库,
但是默认没有密码,所以任何人都可以登录
写进一句马,菜刀连一下,接下来就懂了吧
7,如何防御
~限制请求的端口
~过滤返回的信息
~黑名单内网ip
~禁用其他协议,允许http,https
SSRF问题
1.什么是SSRF
攻击者能够从易受攻击的web程序,发送精心设计的请求的对其他网站进行攻击,即利用一个可发起网络请求服务当做跳板来攻击其他服务
2.ssrf有什么作用
一般用于探测内网端口及信息,查看文件,甚至可以getshell
攻击内外网的web应用
3.ssrf一般存在于哪些地方
能够对外发起网络请求的地方,可能存在ssrf
从远程服务器请求资源处
4.如何判断是否有ssrf
从远程服务器请求资源,验证请求是不是由服务器发出
看可不可以对外发起网络请求
5.ssrf支持哪些协议
Dict:// file:// sftp:// ldap:// gopher:// ftp:// http:// 等
6.SSRF如何绕过
Ip限制绕过(十进制ip,八进制)
协议限制绕过
7.ssrf里的dict协议的作用
查看端口,版本信息这些
向服务器端口请求curl命令
8.ssrf里的file协议的作用
可以在文件系统中读取文件,有的时候会被禁用
9.SSRF里的gopher协议的作用
可以用这个协议发送各种格式的请求包
10.如何去挖ssrf漏洞
转码服务,在线翻译,通过URL地址加载或下载图片,通过url地址分享网页内容
从url关键字查找,比如url,link,target,sourceURL,imageURL
11.ssrf漏洞的原理
服务端为了从其他服务器应用获取数据的功能,且没有对目标地址做过滤和限制
12.ssrf只能通过get的方式利用么?
除了在url栏里的get利用方式外,ssrf还可以用post的方式,比如post提交xml(该处使用xml传输信息)具体还是要看接受方式,如果是$_REQUEST来获取那么POST也没啥问题
13.ssrf如何getshell
内网有些服务或者有些web页面存在漏洞,可以利用这些
14.ssrf如何防御
统一错误信息
限制请求的端口
过滤返回的信息
黑名单内网ip
禁用其他协议,允许http,https
15.ssrf可以结合csrf进行利用吗
可以结合使用,请求访问到后触发
16.ssrf的一些触发点,比如url跳转处,可能存在sql注入么
可能存在
17.SSRF漏洞常见吗?
相对而言还是比较常见的,在实战环境中遇到过。
18.SSRF的危害
主要还是攻击内网或者本机应用,例如内网存在弱密码或者是某些问题cms就可以通杀了,然后本机应用,有些易受攻击的应用并不会开放端口,但是默认本机运行开放,例如redis
还可以读取本机文件,有些敏感文件,例如数据库配置文件
19.SSRF挖掘重点
其实不一定非要去找传参名之类的或者功能点,在我看来,如果哪个传参带了协议名或者是带了文件后缀,都可能存在SSRF,一般而言有协议名传参的基本都有,如果是带了文件后缀的,很有可能存在SSRF漏洞或者任意文件下载或者任意文件读取。
20.SSRF漏洞的核心是什么?
第一点:进入了内网,绕过了很多防火墙机制,因为防御大部分对外不对内
第二点:可以去访问存在漏洞机器上面的内部开放端口。可以触发漏洞(redis之类的)
第三点:可以通过file协议读取敏感信息
21.SSRF漏洞如何防护?
禁用函数( file_get_contents()、fsockopen()、curl_exec()三个函数(PHP)防止SSRF)
限制内网Ip传参
开启内部访问也需要身份认证