首页 > 编程知识 正文

漏洞单是怎么找到的,xss漏洞

时间:2023-05-05 04:41:47 阅读:167943 作者:3815

SSRF 漏洞的寻找

一、从WEB功能上寻找

根据以上概要可以看出,由于SSRF由服务器侧获取其他服务器相关信息的功能形成,所以可以列举几个从web APP连接中常见的服务器侧获取其他服务器信息的功能。

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

在初始的共享APP应用中,为了更好地提供用户体验,WEB APP应用是共享功能,通常是目标URL地址的web内容中的tilte/title标签或metaname=' description ' concontion 例如,在任何人都可以在网上共享的功能中:

从目标URL地址中获取了title标签和相关文本的内容。 如果不使用此功能过滤或限制目标地址的范围,就会存在SSRF漏洞。

寻找这个功能,你会发现很多互联网公司都有这样的功能。 以下是百度分享整合的截图。

国内某漏洞提交平台提出的SSRF漏洞,淘宝、百度、新浪等国内知名公司都曾发现共享功能存在SSRF漏洞。

2)转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览

由于手机屏幕大小的关系,直接浏览网页内容经常不方便,因此一些公司提供转码功能,通过相关手段将网页内容转换为适合手机屏幕浏览的格式。 比如百度、腾讯、Sogou等公司都提供在线转码服务。

3)在线翻译:通过URL地址翻译对应文本的内容。提供此功能的国内公司有百度、有道等

4)图片加载与下载:通过URL地址加载或下载图片

加载图像的远程图像地址的功能被广泛使用,但很多公司都在家里的图像服务器上加载图像以供展示。 (这里可能有人会怀疑,为什么在图像服务器上加载图像会有问题,直接使用img标签就可以了。 是的,但是开发人员为了改善用户体验,经常会对图像进行少量调整,例如添加水印和压缩,因此可能会引起SSRF问题。)。

5)图片、文章收藏功能

这里的图片、文章收藏中的文章收藏类似于功能1、共享功能中获取URL地址中的title和文本内容作为显示,目的还是为了更好的用户体验,图片收藏类似于功能4、图片加载。

6)未公开的api实现以及其他调用URL的功能

同样的功能包括360提供的站点分数,以及通过api获取远程地址xml文件并加载内容的站点。

在这些功能中,除了翻译和转码服务是公共服务之外,其他功能在企业APP应用开发的过程中有可能遇到。

二、从URL关键字中寻找

观察功能上存在SSRF漏洞的URL地址的特征,经过我一段时间的收集,大致有以下关键词:

共享

扭曲

url

链接

src

目标

u

3g

显示

来源

图像

域名

.

将这些关键字添加到谷歌语法中以查找SSRF漏洞,并耐心验证,即可找到至今仍存在的SSRF漏洞。

SSRF 漏洞的验证

ong>1)基本判断(排除法)

例如:    

http://www.douban.com/***/service?image=http://www.baidu.com/img/bd_logo1.png

 

排除法一:

你可以直接右键图片,在新窗口打开图片,如果是浏览器上URL地址栏是http://www.baidu.com/img/bd_logo1.png,说明不存在SSRF漏洞。

排除法二:

你可以使用burpsuite等抓包工具来判断是否不是SSRF,首先SSRF是由服务端发起的请求,因此在加载图片的时候,是由服务端发起的,所以在我们本地浏览器的请求中就不应该存在图片的请求,在此例子中,如果刷新当前页面,有如下请求,则可判断不是SSRF。(前提设置burpsuite截断图片的请求,默认是放行的)

 

 

 

此处说明下,为什么这边用排除法来判断是否存在SSRF,举个例子:

 

 

 

 

现在大多数修复SSRF的方法基本都是区分内外网来做限制(暂不考虑利用此问题来发起请求,攻击其他网站,从而隐藏攻击者IP,防止此问题就要做请求的地址的白名单了),如果我们请求 :

 

而没有内容显示,我们是判断这个点不存在SSRF漏洞,还是http://10.10.10.1/favicon.ico这个地址被过滤了,还是http://10.10.10.1/favicon.ico这个地址的图片文件不存在,如果我们事先不知道http://10.10.10.1/favicon.ico这个地址的文件是否存在的时候是判断不出来是哪个原因的,所以我们采用排除法。

2)实例验证

经过简单的排除验证之后,我们就要验证看看此URL是否可以来请求对应的内网地址。在此例子中,首先我们要获取内网存在HTTP服务且存在favicon.ico文件的地址,才能验证是否是SSRF漏洞。

找存在HTTP服务的内网地址:
一、从漏洞平台中的历史漏洞寻找泄漏的存在web应用内网地址
二、通过二级域名暴力猜解工具模糊猜测内网地址

 

 

可以推测10.215.x.x 此段就有很大的可能: http://10.215.x.x/favicon.ico 存在。

在举一个特殊的例子来说明:

http://fanyi.baidu.com/transpage?query=http://www.baidu.com/s?wd=ip&source=url&ie=utf8&from=auto&to=zh&render=1

 

 

 

 

 

此处得到的IP 不是我所在地址使用的IP,因此可以判断此处是由服务器发起的http://www.baidu.com/s?wd=ip 请求得到的地址,自然是内部逻辑中发起请求的服务器的外网地址(为什么这么说呢,因为发起的请求的不一定是fanyi.baidu.com,而是内部其他服务器),那么此处是不是SSRF,能形成危害吗?  严格来说此处是SSRF,但是百度已经做过了过滤处理,因此形成不了探测内网的危害。

SSRF 漏洞中URL地址过滤的绕过

1)http://www.baidu.com@10.10.10.10与http://10.10.10.10 请求是相同的

 

 

 

此脚本访问请求得到的内容都是www.baidu.com的内容。 

2)ip地址转换成进制来访问

 

115.239.210.26 = 16373751032

 

 

 

此脚本解析的地址都是 115.239.210.26,也可以使用ping 获取解析地址:

 

 

 

如果WEB服务简单的过滤参数中获取的URL地址,没有判断真正访问的地址,是有可能被此两种方法绕过的。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。