iframe脚本木马攻防浅析

 IE5 及其以后版本支持在CSS中使用expression,用来把CSS属性和JavaScript脚本关联起来,这里的CSS属性可以是元素固有的属性,也可以是自定义属性。就是说CSS属性后面可以是一段JavaScript表 达式,CSS属性的值等于Javascript表达式执行的结果。在表达式中可以直接引用元素自身的属性和方法,也可以使用其他浏览器对象。这个表达式就好像是在这个元素的一个成员函数中一样。
要防止iframe里的东西被下载的最好方法,切断iframe里的请求,切断请求就是要迅速销毁iframe对象。

  语法格式如下二种: 
(1)标记固有的CSS属性名:expression(JS表达式);
(2)自定义属性名:expression(JS表达式);
使用JS销毁iframe对象原理:使iframe里的请求地址变成空白页(about:blank),再将iframe对象从DOM(文档对象模型)中移除就可以切断所有iframe里的请求了。
这里我们使用第二种格式
CSS代码:
<style type="text/css">
 iframe{myhack:expression(this.src='about:blank',this.outerHTML='');}
</style>
【myhack是我们自定义的css属性,这里的this代表所有将要描述外观的iframe对象,中间的逗号代表二句代码一起执行,没有执行优先顺序,about:blank代表空白页。】
outerHTML属性是DOM对象包含自身的HTML代码,而 innerHTML则是DOM对象(不含本身)里面所包含的HTML代码。

注意:如果要使自己的iframe显示在网页里,而别人挂的IFRAME马都不起作用,在CSS里加一个
#test{myhack:expression() !important}
对应的IFRAME代码为:<iframe id="test" name="test" src="http://www.xx.com/"></iframe>即可!
 
当然挂马者可以构造这样的代码:
<iframe style="myhack:expression() !important" src="URL"></iframe>
这样我们的过滤就无效了!前提是挂马者知道我们的自定义css属性myhack!
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值