跟微信群黑帽SEO学安全
2021-7-27 15:8:47 Author: mp.weixin.qq.com(查看原文) 阅读量:5 收藏

一、背景描述

萍萍发现他表弟的三舅在家族群中发了分享即提现的链接,于是萍萍把链接分享给了我们,于是就有了下面的内容。

二、正文

链接在手机微信中打开后显示的页面如下所示,内容大概就是分享给他人即可获得红包;上面那个微信红包的图片也是他们设计的。

1、流程分析

分享的链接模样大概如下所示,域名跟路径是该团队利用的其他站点的XSS漏洞,后面的参数看似无用,但是却是后面流程中用来判断跳转逻辑的重要因素,我推测的是该团队有很多SEO的客户,用这些参数值来判断是哪一个用户,类似用户的token。该链接笔者在这里暂称为入口点。

http://victim.com/xss.html?dman=c2.example.cn&?lang=xbwlih×=mikan76ha2

点击的链接,即入口点有两个,一个是某度的链接一个是某宁的链接,为什么有两个呐,当用户分享该页面时,入口点可能会变,比如我是从某度的入口点进去的,但是我分享给萍萍后,分享的是某宁的那个链接,这个逻辑位于攻击者C2服务器的JS文件中。而这两个入口点可以起到双线并进,互为后背的作用。

在XSS Payload中引入了攻击者存放在阿里云OSS中的JS代码,该代码用来提取入口点的dman参数拼装成攻击者C2服务器1的一个JS路径,然后执行。

C2服务器1的这个JS文件中会提取入口点的lang参数,然后拼接成待跳转的URL,跳转到C2服务器2中的一个页面,并进行跳转。

在C2服务器2中的这个页面里,会校验用户的设备信息,根据设备信息进行不同的内容呈现,控制分享给其他人的页面URL。

2、某宁存储型XSS

跟进一下第二个入口点,某宁的一个存储型XSS。是一个HTML页面,URL类似下面这个样子。攻击者输入时将图片的URL替换为了XSS Payload,输出时利用JSONP获取数据时响应包的Content-Type误配置为了text/html,导致可以当作HTML代码直接解析。

笔者在追踪漏洞点的时候,以失败告终,目标系统存在多个端WEB、APP、小程序等,在测试的端中发现输出点Content-Type都是text/plain无法解析html代码,攻击者应该是找了一个不容易发现的输出点。

3、某度存储型XSS

跟进一下第一个入口点,某度的一个存储型XSS。是一个HTML页面,URL类似下面这个样子。

http://victim.com/download/source.html

XSS Payload如下所示,推测可能是利用大小混用绕过某度对script关键字的检测,然后将引入第三方JS文件的代码放在字符串中,并进行base64编码,利用拆分与赋值绕过某度对eval跟atob关键字的检测,实现对字符串的base64解码,并调用eval函数执行。

base64编码前的内容如下所示,创建一个script标签并指向一个外部的JS文件。

现在我已经将Payload分析的差不多了,于是我开始尝试寻找漏洞点在哪里。直接访问域名跟逐个路径都不可以,没有什么有效内容。然后利用搜索语法找到了该站点一些有效的访问链接。

进去之后的页面如下所示,通过入口点URL的里面包含的download关键字,推测很可能是在上传功能中,于是尝试了图片上传功能。

上传接口的URL类似如下所示:

https://victim.com/upload/path1/path2

上传成功后,对应的访问地址如下所示:

https://victim.com/donwload/path1/path2

1、于是我尝试在上传时,将filename的值修改为html后缀,在访问时发现呈现的仍旧是图片。

2、于是将URL改为黑帽SEO团队那种格式的URL,http://victim.com/upload/path1.html,在访问时发现呈现的仍旧是图片。于是我推测本站很可能是根据文件的字节头来判断文件的格式。

3、于是我将文件内容修改为xxxx,发现可以正常显示。推测可能利用了浏览器的内容嗅探机制,不然黑帽SEO团队无法利用成功。

4、于是我将文件内容修改为<html><h2>xxx</h2></html>,访问时发现文件内容是404 Not Found,考虑到黑帽SEO团队使用了大小写混用,于是推测本地对HTML里面的一些关键字做了检测。

5、于是我将文件内容修改为<hTMl><h2>xxx</h2></hTmL>,成功调用HTML解释器。

而黑帽SEO团队在文件后面添加的html后缀也是可以去掉的,并不会根据后缀名称来解析。

关于浏览器的内容嗅探机制可以看我之前在Blog中写的一篇文章:http://www.teagle.top/index.php/archives/192/

三、总结

1、攻击者利用了两个入口点互为后背;

2、攻击者利用了大厂的域名作为入口点来规避微信的一些风控策略;

3、在某度的存储型XSS中利用了内容嗅探机制与WAF绕过;

4、在某宁的存储型XSS中利用了一个存在缺陷的不容易发现的一个输出点。


文章来源: https://mp.weixin.qq.com/s?__biz=Mzg4ODU4ODYzOQ==&mid=2247484427&idx=1&sn=ff19491ee96637d478155c7aa48e0be2&chksm=cff9943bf88e1d2dadfad619a922b403e522a00858a1f8035fcc4b66b818564a2610fbfd7927&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh