Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
mitigation-cve-2019-9787 — CVE-2019-9787(WordPress XSS/CSRF/RCE)的PoC与缓解措施。演示了通过代码修改实现的安全修复、HttpOnly Cookie 以及基于哈希的 CSRF 防御。 | Kitploit
工具/GitHubGitHub/kuangting4231/mitigation-cve-2019-9787
漏洞分析漏洞利用Web安全CTF渗透测试学习与教育
GitHubkuangting4231/mitigation-cve-2019-9787

mitigation-cve-2019-9787

CVE-2019-9787(WordPress XSS/CSRF/RCE)的PoC与缓解措施。演示了通过代码修改实现的安全修复、HttpOnly Cookie 以及基于哈希的 CSRF 防御。

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
14年前尚未审核
分享

缓解措施-cve-2019-9787

POC

  1. 简单 XSS:
  2. 简单 CSRF:攻击者网站代码--- https://github.com/kuangting4231/wordpress.github.io
  3. CSRF 远程代码执行:攻击者网站代码--- https://github.com/kuangting4231/assigment1.github.io

缓解措施

  1. 修复管理员的净化处理逻辑缺陷。 在 /wp-admin/includes/ajax-actions.php 和 /wp-includes/comment.php 中添加以下两行(详细信息见报告): remove_filter( 'pre_comment_content', 'wp_filter_post_kses' ); add_filter( 'pre_comment_content', 'wp_filter_kses' );
  2. HTTP-only 对于由 PHP 管理的会话 Cookie,可以通过 php.ini 中的参数(PHP 手册 HttpOnly 部分)永久设置该标志:

session.cookie_httponly = True

  1. 基于哈希的防御 WordPress 尚未实现 CSRF 验证令牌,因为如果实现,将影响 WordPress 的 trackbacks 和 pingbacks 功能。服务器无法区分非法 CSRF 请求与合法的 PINGBACK/TRACEBACK 请求,WordPress 会自动将没有正确 CSRF 令牌的评论视为 PINFBACK 和 TRACEBACK 请求,并使用白名单过滤器过滤该评论。

    为防御此 CSRF 漏洞,我们在表单中添加了一个名为 hashnonce 的新字段,用于验证评论是否由管理员发送。管理员使用其 Cookie 对评论字段的值签名。

    评论字段值的签名使用 md5 生成哈希值(见图)。

    当管理员尝试采纳 PINFBACK 和 TRACEBACK 且无法提供 _wp_unfiltered_html 时,我们会使用 wp_verify_hashNonce。如果验证失败,将报告错误。即使验证成功,逻辑错误也已得到纠正,并将使用 "wp_filter_kses" 过滤评论。

    修改的代码:

    1. comment-template:JavaScript 脚本计算并添加 hashNonce 脚本;
    2. pluggable:PHP 脚本添加了验证 hashNonce 的脚本。
    3. comment:PHP 脚本更改了请求处理逻辑。

    第三种方法源自 https://github.com/sijiahi/Wordpress_cve-2019-9787_defense

下载工具