知识屋:更实用的电脑技术知识网站
所在位置:首页 > 网络安全 > 安全资讯

360安全卫士某处缺陷导致本地命令执行

发布时间:2014-04-28 12:21:58作者:知识屋

360安全卫士某处缺陷导致本地命令执行,最新版本上测试通过。
 
360安全卫士有个“360电脑专家”功能,可以聊天哦,来咱和智能机器人聊聊(我也不知道和真人聊天会是什么样的效果)。
 
输入:<xxoo>
 
在聊天窗口中直接显示 <xxoo>,看来不存在问题。
 
查看下聊天记录,却发现我们刚输入的那句是空白,这又不是,又没办法查看源代码,不过直觉告诉我们没有过滤的。聊天记录么,肯定是保存在本地的,拿出 Filemon 试试能不能找到。设置过滤,包含 "*360DiagnoseScan*;",再打开聊天记录,别说,还真找到了。在这里:
 
C:Documents and SettingsAdministratorApplication DataSosClientchat (我 xp 系统)
 
按时间保存的 文件:chat_20130819xxxxxxxxx.html,打开找到了我们的代码:
 
<font color="#0fb42d">我   xx:oo</font><p><font color="#333333"><xxoo></font></p></div><div><p></p><font color="#0032c8">360电脑专家   xx:oo</font>
 
 
看到没有过滤,既然是保存在本地的 html 中,权限么还是蛮大的,能不能执行命令呢,继续。
 
聊天有限制,只允许 30 个字符,一个英文和一个中文竟然同等对待,太不科学了。不过难不倒我们,我们构造如下的代码,分 5 次输入进去:
 
<script>/*

*/w=new ActiveXObject/*

*/("WScript.Shell");/*

*/w.run("cmd.exe");/*

*/</script>

 

 
 
通过 /**/ 注释掉乱七八糟的东西,保持我们代码的完整性,由于每次聊天都要从服务端返回信息,有一个时间差,所以我们以一个极快的速度连续输入我们的代码,就像下图一样:
来来来,赶紧点开聊天记录看看呢,多乖的窗口啊,就这么跳出来了。
 
 

修复方案:
写入聊天内容到本地文件之前进行一次编码处理。
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜