某互联网金融分站储存XSS
【注意:此文章为博主原创文章!转载需注意,请带原文链接,至少也要是txt格式!】
其实这个XSS非常简单,没什么技术含量,只不过属于另类‘储存XSS’吧。。(当然也可以伪造一个钓鱼页面。)
这个XSS呢严格的说是储存XSS,但是如果想利用它,似乎暂时我能想到的只是利用反射XSS的方法利用它。也就是说把这个链接发送给别人。具体为什么呢?
首先,某站有个上传点。如下图:
因为这个网页做了前端的JS上传判断,所以只能上传jpg等图片格式,那我们就开始数据抓包吧。
图下图:
大家看到了,这都是正常的,上传之后看一下,如图:
这里呢,光给了一个路径,但是没有给出完整的地址,具体上传到哪里并不知道,并不是上传到程序同服务器中,应该是上传到了对方的图片存储服务器中了。但是呢,鼠标放到刚刚上传的图片名字中,会出现预览图,如下图:
同时浏览器会通过AJAX加载一个网址,如下图:
这里可以看到,对方是利用程序加载CDN服务器中刚才上传过去的图片。
那么这里要是我们改一下包,更改一下后缀,上传一个其它文件也是会被同样加载,所以,这里我们可以上传一个html或者php等文件看看什么情况。最终测试可以成功加载html代码。如下图。
然后我们看一下。是否可以成功加载。如图:
最后生成的链接也就是:http://jr.xxx.xx/xxx/xxxQuota/getImg?url=L2ZiMi90MixxxxxxxxxxxxxxxxxxxxxxxxxxxxxMy5qcGc= 最后的URL的参数是base64编码的,解码后就是刚刚上传成功后给出的路径。(不存在其他读取问题,已经测试了../../../../etc/passwd 或者 c:\ 等等)
最终就是,谁访问了我上面的那个链接,谁就中招了。中招就会如下图(盗取他的网站登录凭证):
这里有个点要注意,虽然文件是传到了对方的CDN服务器中,但是这个文件被金融的站点所调用,所以储存XSS是可以打到站点cookie的哦。要不然是打不到的,因为CDN服务器域名与金融的是两个域名。
又学个挖洞测试姿势。