本文已参与「新人创作礼」活动,一起开启掘金创作之路。
什么是SSRF漏洞
是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。 一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。
是服务端的请求伪造
引起漏洞的方式
常见的是curl函数
另外还有file_get_contents()函数,这个函数是将整个文件读入一个字符串。
这都会有可能引起SSRF漏洞
除了上面的函数还有协议。
比如
file:查看文件
dict:探测端口
这个协议是用来搭建一个字典服务
gopher:反弹shell
这个协议是一种信息查找系统,只支持文本,不支持图像,已经被HTTP代替
危害
1.扫描资产
可以知道某个端口是否被打开着
2.获取敏感信息
访问磁盘上的文件
3.攻击内网服务
不需要经过防火墙
4.访问大文件,造成溢出
5.通过redis写入webshell或创建反弹连接
常见场景
只要有个网页或者服务器的代码,只要读取加载了其他地址的代码或内容,那么就会导致SSRF的漏洞。
1.社会化分享功能
2.转码服务
3.在线翻译
4.在线图片下载
5.图片、文章收藏功能
6.网站采集,网站抓取
怎么发现SSRF漏洞
第一步:爬取地址
第二步:查看是否请求了其他资源
也可以用Google语法搜索关键字
工具
github上面的一些工具
1.SSRF-Testing
2.Gopherus
3.SSRF-map
当然不只这些工具,大家也可以找一点其他的工具去运用。
之后我们可以去pikachu靶场去训练。
如何预防
1.我们要禁用一些协议,禁用端口
2.设置URL白名单
3.过滤返回信息
4.统一错误信息