SSRF漏洞原理攻击与防御

admin 2022年7月8日18:35:05评论19 views字数 2066阅读6分53秒阅读模式


一、SSRF概念

SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。

一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统

二、SSRF漏洞原理

SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制

SSRF漏洞原理攻击与防御

比如,黑客操作服务端从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。利用的是服务端的请求伪造。ssrf是利用存在缺陷的web应用作为代理攻击远程和本地的服务器

三、SSRF漏洞挖掘

1、分享:通过URL地址分享网页内容

SSRF漏洞原理攻击与防御

2、转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览:由于手机屏幕大小的关系,直接浏览网页内容的时候会造成许多不便,因此有些公司提供了转码功能,把网页内容通过相关手段转为适合手机屏幕浏览的样式。例如百度、腾讯、搜狗等公司都有提供在线转码服务。
3、在线翻译:通过URL地址翻译对应文本的内容。提供此功能的国内公司有百度、有道等。

SSRF漏洞原理攻击与防御

4、图片、文章收藏功能:此处的图片、文章收藏中的文章收藏就类似于分享功能中获取URL地址中title以及文本的内容作为显示,目的还是为了更好的用户体验,而图片收藏就类似于功能四、图片加载。
http://title.xxx.com/title?title=http://title.xxx.com/as52ps63de
例如title参数是文章的标题地址,代表了一个文章的地址链接,请求后返回文章是否保存,收藏的返回信息。如果保存,收藏功能采用了此种形式保存文章,则在没有限制参数的形式下可能存在SSRF。
5、未公开的api实现以及其他调用URL的功能:此处类似的功能有360提供的网站评分,以及有些网站通过api获取远程地址xml文件来加载内容。

SSRF漏洞原理攻击与防御

6、图片加载与下载:通过URL地址加载或下载图片,图片加载远程图片地址此功能用到的地方很多,但大多都是比较隐秘,比如在有些公司中的加载自家图片服务器上的图片用于展示。
(此处可能会有人有疑问,为什么加载图片服务器上的图片也会有问题,直接使用img标签不就好了?没错是这样,但是开发者为了有更好的用户体验通常对图片做些微小调整例水印、压缩等所以就可能造成SSRF问题)。
7、从URL关键字中寻找
利用google 语法加上这些关键字去寻找SSRF漏洞

SSRF漏洞原理攻击与防御

简单来说:所有目标服务器会从自身发起请求的功能点,且我们可以控制地址的参数,都可能造成SSRF漏洞

四、SSRF中URL的伪协议

当我们发现SSRF漏洞后,首先要做的事情就是测试所有可用的URL伪协议

SSRF漏洞原理攻击与防御

五、SSRF漏洞利用

1.可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息;
2.攻击运行在内网或本地的应用程序(比如溢出);
3.对内网web应用进行指纹识别,通过访问默认文件实现;
4.攻击内外网的web应用,主要是使用get参数就可以实现的攻击(比如struts2,sqli等);
5.利用file协议读取本地文件等;
6.各个协议调用探针:http,file,dict,ftp,gopher等。
http:192.168.64.144/phpmyadmin/
file:///D:/www.txt
dict://192.168.64.144:3306/info
ftp://192.168.64.144:21

六、SSRF绕过方式

部分存在漏洞,或者可能产生SSRF的功能中做了白名单或者黑名单的处理,来达到阻止对内网服务和资源的攻击和访问。因此想要达到SSRF的攻击,需要对请求的参数地址做相关的绕过处理。

常见的绕过方式有:可以尝试采用http基本身份认证的方式绕过、采用短网址绕过、采用进制转换、利用特殊域名、利用[::]来绕过localhost、利用句号(127。0。0。1 >>> 127.0.0.1)、CRLF 编码绕过、利用封闭的字母数字

七、SSRF漏防御

通常有以下5个思路:
      1、过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。
       2、 统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。
    3、限制请求的端口为http常用的端口,比如,80,443,8080,8090。
      4、黑名单内网ip。避免应用被用来获取获取内网数据,攻击内网。
      5、禁用不需要的协议。仅仅允许http和https请求。可以防止类似于file:///,gopher://,ftp:// 等引起的问题。


本文转载自:

https://blog.csdn.net/qq_43378996/article/details/124050308

SSRF漏洞原理攻击与防御
SSRF漏洞原理攻击与防御

智涵安全

智涵安全服务号

原文始发于微信公众号(智涵安全应急响应中心):SSRF漏洞原理攻击与防御

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月8日18:35:05
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SSRF漏洞原理攻击与防御http://cn-sec.com/archives/1166815.html

发表评论

匿名网友 填写信息