详解WINRAR的自解压跨站攻击漏洞

    [晴 June 14, 2008 09:35 | by ]
作者:x140cc
听许多人说WINRAR自解压格式的文件在安装界面上可以跨站,笔者亲自测试了一下,这个不能单单说是跨站了,本来还以为是个新出的漏洞呢,原来是WINRAR的本身缺陷,在其界面上可以支持任何HTML代码。详细的,我们看下文。

首先创建一个自解压格式的文件,来到下图的界面。

Highslide JS


然后切换到“高级”这个选项卡。我们看到个“自解压选项”,图2

Highslide JS


点击“自解压选项”来到如下图所示。

Highslide JS


    我们在“自解压文件窗口中显示的文本”下面输入最简单的跨站测试代码
<script>alert(“哈哈”)</script>
点击确定创建文件就可以了。

然后我们打开刚才创建的文件,看到了如下的结果。图4

Highslide JS


弹出了跨站提示。我们把跨站代码换成
<iframe>
就更明显了。

Highslide JS


看来,WINRAR自解压不仅可以按照捆绑的方式夹带传播木马,利用这种方式也可以跨站挂马。有些有安全意识的人,一般先用WINRAR打开自解压格式文件。

Highslide JS


    但是会忽略在文本和图标的选型卡内容里是否存在恶意代码。但是这样的恶意代码也有缺陷,用WINRAR打开的时候直接会在右面看到代码。对于有一点经验的人来说很容易识别。

Highslide JS


    可是利用者可以增强迷惑性,在里面添加大量的文字,然后中间插入一段这样的代码。用户也是很难看出的。另外还有一种方式可能被利用者使用。就是让WINRAR无法打开自解压文件。可以在自解压格式文件上加壳。这样WINRAR就无法打开自解压格式文件了。但是加壳的容易出错。还可以修改自解压的特征,让WINRAR不能识别。对于这样的利用方式更别说看到里面的注释命令是什么了。对于修改自解压文件本身,有如下的修改方式:

用16进制编辑器打开要修改的EXE后缀的自解压文件。查找如下的16进制字串,前面是要查找的,箭头后面的是替换掉的。以第一处修改为例截个图。

Highslide JS


看到了第一处,按照第一种修改的方式修改掉就可以了。其他以此类推。修改后保存。其他要修改的地方如下。红色为要修改处。
第一种修改方式:
   526172211A07 -> 526072211A07
    807A0161 -> 807A0160

第二种修改方式:
   526172211A07 -> 526171211A07
    807A0272 -> 807A0171

修改后我们对比一下。在文件上分别点击右键。左面是修改前的,右面是修改后的。

Highslide JS


Highslide JS


我们看到修改后右键上根本没有了“用WINRAR打开的选项”。我们打开修改后的文件来看看。是否可以运行。

Highslide JS


可以正常运行。这里我们演示了下怎样修改绕过WINRAR的识别。

    对于加壳的可以先脱壳,但是对于普通用户是很难做到的,第二种修改方式也可以还原回去到目前也没有一种好的解决方式,只能提醒大家注意防范。
Technology | Comments(0) | Trackbacks(0) | Reads(5708)
Add a comment
Emots
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
Enable HTML
Enable UBB
Enable Emots
Hidden
Nickname   Password   Optional
Site URI   Email   [Register]
               

Security code Case insensitive