WP允许作者发布一种带密码验证的文章,该漏洞可绕过密码保护查看内容。
官方修复方案,仅修改了检查的权限,将读权限改为写权限。
https://github.com/WordPress/WordPress/commit/a2904cc3092c391ac7027bc87f7806953d1a25a1
检查权限失败会break,此时 $redirect="edit.php"
,会跳到编辑文章的界面。
if ( ! empty( $redirect ) ) {
wp_redirect( $redirect );
exit;
}
如果验证权限成功,会将 $redirect
重置为false
,从而未跳转而是直接显示请求的页面内容,导致加密的内容被输出。
触发该漏洞的入口为wp-admin/revision.php
所以要用户登入。
exp:
http://[WP-HOST]/wp-admin/revision.php?revision=[PAPER_ID]&action=view