SRC案例-用组合拳在SRC官网盗走你的个人信息
本文最后更新于 2024年10月22日 下午
声明:本SRC案例来自J0神,此处只是做学习研究之用
漏洞发现
- 先是在某SRC官网FUZZ出一处图片显示接口,发现image__name参数是图片路径,那么有几个可尝试的点:文件包含getshell;目录穿越;ssrf……
1 |
|
- 经过尝试,文件包含、ssrf都不行,只是拼接读取了远程资源站的图⽚。但在给路径后加上”+”后,奇迹出现了:
1 |
|
图⽚被意外的解析成了HTML⻚⾯,此处存在文件解析漏洞!
- 既然能把png解析为html,那么我们构造一个带有JS代码的图片,访问路径,加上”+”,就构成了存储型XSS
- 继续尝试目录穿越,/../../3.png,出现了自研WAF,拦截了
- 没事,使用burp FUZZ一下就bypass了
1 |
|
漏洞利⽤
现在已经可以存储型XSS+目录穿越了,又已知该SRC官网因为要打款奖励,所以需要用户填写个⼈信息(姓名,⼿机号,sfz等信息),⽽这些信息⽤户自己可以在个人中心处查看,于是直接打一套组合拳提升危害,去盗取这些个人信息
- 利⽤010Editor或copy命令,构造含有恶意代码的图⽚
- 010Editor:就不多说了,以16进制方式打开后,直接把js代码加在末尾就可以了
- copy命令:
1 |
|
拿一张很小的普通图片tiny.png,js代码写在code.txt,二者合成生成了tiny_code.png:插入了恶意js代码的图片
- code.txt
1 |
|
这个http://xss.com/xxx/demo.js其实就是把demo.js部署在了远程XSS平台,这样看可以执行更多的JS代码,且方便接收执行得到的数据
- demo.js
脚本会通过Ajax请求URL,使⽤DOMParser转换并解析DOM对象,提取⽤户身份证、银⾏卡、⼿机号、地址等信息后合并base64编码发送到XSS平台接收数据
构造好了恶意图片,那么就去找文件上传接口上传图片了,直接上传刚刚构造好的恶意图片,但是上传到的路径不是那个存在文件解析漏洞的路径下,于是目录遍历漏洞就派上用场了,在那个存在文件解析漏洞的接口image__name参数传入/..%252F/xxx/xxx/tiny_code.png穿越一下目录,就可以了
然后再构造一个,用来钓鱼跳转的网站,实现只要受害者访问该网站,就自动跳转去请求我们刚才的恶意图片链接(被解析为了html执行),就会无感的触发其中已经构造好的js代码,去远程调用XSS平台中的demo.js,获取SRC官网个人中心处的个人信息,并把数据发送给XSS平台接收
- 钓鱼跳转网站
- 构造好的恶意图片链接(被解析为了html执行)
- XSS平台接收到数据
- 成功窃取到受害者的信息,base64解码即可
技术点总结
- Fuzz出接⼝及参数,拼接+号解析成HTML⻚⾯
- URL拼接时BypassWAF进⾏⽬录穿越
- 使⽤DOMParser转换为DOM对象并提取表单input值,后通过window.btoa函数base64编码字符串