web安全入门(第八章-4)ssrf

一、什么是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传参
开启内部访问也需要身份认证

你可能感兴趣的:(安全入门,安全,数据库,php,csrf)