渗透测试漏洞扫描-SSRF漏洞

1、 什么是SSRF:

SSRF(Server-Side Request Forgery:服务器端请求伪造)

是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF是要目标网站的内部系统。(因为他是从内部系统访问的,所有可以通过它攻击外网无法访问的内部系统,也就是把目标网站当中间人)

2、 形成的原因:

SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,文档,等等。

3、 寻找漏洞的方法:

n 能够对外发起网络请求的地方,就可能存在SSRF漏洞

n 从远程服务器请求资源(Upload from URL,Import & Export RSS feed)

n 数据库内置功能(Oracle、MongoDB、MSSQL、Postgres、CouchDB)

n Webmail收取其他邮箱邮件(POP3/IMAP/SMTP)

n 文件处理,编码处理,属性信息处理(ffpmg,ImageMaic,DOCX,PDF,XML处理)

4、 SSRF的攻击方式:

n 可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息;

n 攻击运行在内网或本地的应用程序(比如溢出);

n 对内网web应用进行指纹识别,通过访问默认文件实现;

n 攻击内外网的web应用,主要是使用get参数就可以实现的攻击(比如struts2,sqli等);

n 利用file协议读取本地文件等。

5、 漏洞修复:

(1)使用地址白名单

(2)对返回内容进行识别

(3)需要使用互联网资源(比如贴吧使用网络图片)而无法使用白名单的情况:

首先禁用CURLOPT_FOLLOWLOCATION;然后通过域名获取目标ip,并过滤内部ip;最后识别返回的内容是否与假定内容一致

总结:

通过SSRF漏洞的学习,我发现SSRF漏洞果然比CSRF漏洞的利用的局限性要小,并且SSRF漏洞对内网的一些应用危害比较大。所以在开发过程中,警惕大家要尽量避免产生SSRF漏洞。

相关新闻

QQ渠道

技术支持:QQ2854399

关注公众号
关注公众号
微信客服
返回顶部