☰
HowToHunt 实战指南:WordPress 常见安全配置错误与漏洞利用方法论
2026/10/6 7:30:00 网站建设 项目流程
  • 网络安全
  • 应用安全

【免费下载链接】HowToHunt

Collection of methodology and test case for various web vulnerabilities.

项目地址:https://gitcode.com/gh_mirrors/ho/HowToHunt
点击查看免费下载

本文基于 HowToHunt 仓库的 CMS/wordpress.md 实战文档整理而成,系统梳理 WordPress 站点在真实渗透测试与漏洞赏金狩猎中最常出现的八类安全配置错误:xmlrpc.php滥用、目录列表泄露、CVE-2018-6389 拒绝服务、CVE-2021-24364 反射型 XSS、wp-cron.phpDoS 与 REST API 用户枚举。读完本文,你将掌握每一类问题的检测方式、可复制的利用载荷、自动化工具选择,以及如何把低危问题链式组合放大为高价值报告。


1. 方法论定位:先识别,再扫描,后利用

1.1 WordPress 技术识别

动手测试前,首先确认目标站点确实运行 WordPress。仓库 README.md 将本仓库定位为“从实战出发的漏洞狩猎方法集合”,而指纹识别正是所有后续步骤的前提。常用的被动/主动识别手段包括:

  • Wappalyzer:浏览器扩展,自动标注页面所用技术栈,覆盖 WordPress 主题、插件与版本线索;
  • WhatRuns:快速展示页面加载的框架与插件清单;
  • BuiltWith:在线技术栈分析服务,可查看站点使用的 WordPress 主题、托管商及 CMS 细节。

除浏览器插件外,也可以借助curl直接抓取特征:

# WordPress 常泄露生成器标签 curl -s https://target.com/ | grep -i "generator" # 常见特征路径探测 curl -sI https://target.com/wp-login.php curl -sI https://target.com/wp-json/

1.2 通用扫描工具:WPScan

确认目标为 WordPress 后,推荐使用WPScan作为通用扫描主力。它能够自动化完成插件/主题枚举、版本指纹、弱口令爆破与已知漏洞(CVE)匹配,覆盖本文将要讨论的大部分检查项。

若目标范围较大(如整个域名资产),可结合仓库 CVES/easycve.md 提出的“轻松挖 CVE”流程做前置侦察:先用subfinder收集子域,再用httpx过滤存活主机,最后分主题跑nuclei模板,其中nuclei -t nuclei-templates/http/technologies与-t nuclei-templates/http/cves两个模板集就能自动标注 WordPress 站点并给出疑似 CVE。命中 WordPress 后,再以 WPScan 做纵深验证:

wpscan --url https://target.com --enumerate u,vp,vt --api-token <TOKEN>
  • u:枚举用户名(对应后文“用户枚举”一节);
  • vp:枚举存在漏洞的插件;
  • vt:枚举存在漏洞的主题(对应 CVE-2021-24364 这类主题漏洞);
  • --api-token:使用 WPScan API 获取更完整的漏洞数据库匹配。

2. xmlrpc.php:WordPress 最常见的可利用面

xmlrpc.php是 WordPress 的内置远程调用接口(XML-RPC),允许外部程序通过 XML 报文调用站点方法。绝大多数主题站点并未主动禁用该文件,因而成为 DoS、SSRF 与爆破攻击的高频入口。原文档明确指出:想要靠这个配置错误拿到赏金,必须把它完整利用起来,并清楚地展示影响面——单是“接口存在”通常不足以构成有效报告。

2.1 检测

直接访问https://target.com/xmlrpc.php,若返回如下形式的报错,即证明接口存在(仅接受 POST 请求):

XML-RPC server accepts POST requests only.

2.2 枚举可用方法

使用代理(如 Burp Suite)拦截请求,把 GET 改为 POST,并提交以下 XML 报文枚举接口暴露的全部方法:

<methodCall> <methodName>system.listMethods</methodName> <params></params> </methodCall>

响应会返回一个<value><array>列表,重点关注是否包含pingback.ping、wp.getUsersBlogs、system.multicall等高风险方法。其中pingback.ping是后续 DoS 与 SSRF 利用的核心。

2.3 利用一:借助 pingback.ping 发起 DDoS

pingback.ping的语义是“通知某个博客文章被引用了”,服务端收到请求后会替攻击者主动向外发起 HTTP 请求。向服务器提交以下载荷:

<methodCall> <methodName>pingback.ping</methodName> <params><param> <value><string>http://<YOUR SERVER>:<port></string></value> </param><param><value><string>http://<SOME VALID BLOG FROM THE SITE></string> </value></param></params> </methodCall>

将第一个<string>替换为攻击者控制的目标 URL。由于 WordPress 默认不限制pingback.ping的调用频率,攻击者可以反复提交请求,驱动服务器持续向第三方目标发起请求,形成借刀杀人的反射型放大 DoS:受害者服务器成为攻击流量的跳板,流量来源还伪装成目标站点自身。

2.4 利用二:SSRF 内网端口扫描

pingback.ping的请求目标不仅可以是公网 URL,也可以是内网地址。将第一个参数替换为http://127.0.0.1:<port>或http://<内网IP>:<port>:

<methodCall> <methodName>pingback.ping</methodName> <params><param> <value><string>http://<YOUR SERVER>:<port></string></value> </param><param><value><string>http://<SOME VALID BLOG FROM THE SITE></string> </value></param></params> </methodCall>

通过对比不同端口下返回的 XML 错误(例如“Couldn't connect to host”与连接成功后再报“Target blog not found”),即可盲推断内网端口开放情况——这正是仓库 SSRF/SSRF.md 所述“服务端替攻击者发起请求”的典型载体。多数情况下利用仅限内网端口扫描与有限的主机探测,务必在报告中明确标注这是内网端口扫描型 SSRF,避免夸大影响。

2.5 自动化与加固建议

手工构造 XML 报文较繁琐,可利用开源的xmlrpc-scan工具自动化完成方法枚举、pingback 检测与爆破验证,显著提升效率。

从防护角度(面向站点运营者/报告附言):

  • 在服务器配置中直接禁用xmlrpc.php(如 Nginx 返回 403);
  • 若业务确实需要 XML-RPC,至少拦截pingback.ping、system.multicall等高风险方法;
  • 对xmlrpc.php的请求频率做限流,抑制放大 DoS 与在线爆破。

3. /wp-content/uploads 目录列表泄露

开发者常忘记在 Web 服务器上关闭目录浏览(autoindex),导致https://target.com/wp-content/uploads/被直接列出所有上传文件——包括历史头像、发票、内部文档甚至备份文件。

3.1 检测

直接访问:

https://target.com/wp-content/uploads/

若页面返回文件/子目录索引列表(而非 403 或空目录),即确认漏洞存在。HackerOne 平台上有多个同类型真实报告被收录,属于被广泛认可的“低危但真实”信息泄露类问题。

3.2 实战技巧

  • 把/wp-content/uploads加进你的目录爆破字典(ffuf、dirsearch、feroxbuster 的 wordlist 中追加该路径);
  • 不要只测一层目录,uploads/<年>/<月>/结构同样可能存在索引;
  • 结合响应大小(Content-Length)与状态码差异判断命中;
  • 排查时可顺手检查wp-content/plugins、wp-content/themes是否同样开启了目录浏览。

4. CVE-2018-6389:load-scripts.php 拒绝服务

CVE-2018-6389 影响WordPress 4.9.3 及更早版本,核心问题是wp-admin/load-scripts.php未对load[]参数做数量限制,攻击者可一次性请求数百个脚本,使服务器瞬间加载全部 JS 文件,快速耗尽 PHP 进程与内存。

报告前提:该漏洞仅对 4.9.3 以下的站点有效,提交前务必先确认目标版本,否则 PoC 无效。

4.1 检测

获取构造好的“一键打崩”URL(原文档给出的 gist 名为loadsxploit):它会生成携带大量load[]参数的完整 URL,直接访问即可观察到服务器返回体积极大的 JS 数据。核心形态示意:

https://target.com/wp-admin/load-scripts.php?c=1&load[]=jquery-core,jquery-migrate,utils,backbone,underscore,...

4.2 利用

原文档推荐Doser工具完成高并发施压,实测可在数十秒内击穿未防护的 Web 服务器:

python3 doser.py -t 999 -g 'https://target.com/fullUrlFromLoadsxploit'
  • -t 999:999 个并发线程;
  • -g:指定要轰炸的目标 URL(即loadsxploit生成的长链接)。

施压时观察响应时间与 5xx 错误率,出现明显不可用即可录制证据。注意在授权范围内控制强度与时长,避免对共享宿主上的其他站点造成连带影响。


5. CVE-2021-24364:Jannah 主题反射型 XSS

CVE-2021-24364 是Jannah WordPress 主题(5.4.4 之前)的反射型跨站脚本漏洞:主题的tie_get_user_weatherAJAX 动作未对optionsJSON 参数做充分的净化处理,直接把参数内容回显到页面,攻击者可注入任意脚本。

5.1 检测与利用(单请求 PoC)

将<Your_WP-Site-here>替换为目标站点地址,直接构造请求:

<Your_WP-Site-here>/wp-admin/admin-ajax.php?action=tie_get_user_weather&options=%7B%27location%27%3A%27Cairo%27%2C%27units%27%3A%27C%27%2C%27forecast_days%27%3A%275%3C%2Fscript%3E%3Cscript%3Ealert%28document.domain%29%3C%2Fscript%3Ecustom_name%27%3A%27Cairo%27%2C%27animated%27%3A%27true%27%7D

URL 解码后可见forecast_days字段被闭合<script>并插入alert(document.domain)。在浏览器中打开该地址,出现弹窗即证明 XSS 存在。该 PoC 无鉴权要求,只需站点运行受影响版本的 Jannah 主题。

5.2 利用价值延伸

反射型 XSS 本身评级有限,但可与仓库 XSS/Xss.md 中的利用技巧结合:将该 URL 用作点击劫持钓鱼入口、配合document.domain探测 Cookie 作用域,或在有 CSP 的场景下对照 XSS/Bypass_CSP.md 评估绕过可能,从而提升报告影响。


6. WP-Cron DoS:wp-cron.php 滥用

WordPress 的定时任务机制依赖wp-cron.php,该端点默认无需鉴权即可由外部触发执行挂起的计划任务,同样可被用作 DoS 靶点。

6.1 检测

访问https://target.com/wp-cron.php,若返回空白页面且 HTTP 状态码为 200,说明该端点处于可访问状态(正常运行时它只返回空响应,但同样消耗 PHP 执行时间)。

6.2 利用

与 CVE-2018-6389 相同,可直接复用 Doser 施压:

python3 doser.py -t 999 -g 'https://target.com/wp-cron.php'

高频触发会让服务器反复尝试执行所有到期任务,配合 cron 任务本身的 CPU/数据库负载,可在资源受限的虚拟主机上造成明显的响应延迟甚至服务中断。

这类应用层 DoS 的测试手法与影响论证,可进一步参考仓库 Application_Level_DoS/ALD_Methods.md:它系统总结了长密码哈希、超长字符串、永久封号等多类 DoS 思路,并附有 Password.txt 这样的实测载荷——注意其中明确建议密码长度不要超过 5000 字符,以免对目标造成不可控破坏。


7. WP REST API 用户枚举与链式爆破

WordPress 4.7+ 默认开放 REST API,/wp-json/wp/v2/users/端点会直接返回注册用户列表(含用户名、slug、描述等)。

报告前提:只有当目标站点刻意隐藏用户、且用户信息在公开页面不可见时,该问题才被接受为有效发现。攻击者拿到用户名后可用于后续暴力破解与其他攻击。

7.1 检测

curl -s https://target.com/wp-json/wp/v2/users/

响应为 JSON 数组,其中包含slug(即登录名)字段:

[{"id":1,"name":"admin","slug":"admin","link":"https://target.com/author/admin/"}]

若公开页面无法推断出这些用户名,即可作为信息泄露证据提交。

7.2 利用:与 xmlrpc.php 链式放大

原文档给出的高价值利用链是**“用户枚举 + xmlrpc 在线爆破”**:

  1. 从/wp-json/wp/v2/users/批量收集有效用户名;
  2. 通过xmlrpc.php的system.multicall方法对上述用户名批量尝试口令;
  3. 相比直接在wp-login.php上爆破,XML-RPC 一次请求可携带多条登录尝试,绕过部分登录限流与 WAF 规则,效率与隐蔽性都更高。

这种“两条低危链成一条中危”的组合方式,正是原文档反复强调的加分项——报告里展示组合利用路径能显著提升可接受度。

若用户枚举被关闭(REST API 被禁用),还可以:探测/author/admin式的作者归档页、检查评论接口/wp-json/wp/v2/comments中的author字段,以及借助 Recon/Github_Dorking.md 与 Sensitive_Info_Leaks/Github_dorks_all.md 中的 dork 思路(例如搜索WORDPRESS_DB_PASSWORD=这类环境变量泄露)交叉获取凭据线索。


8. 研究员建议:不要只盯这几个点

原文档作者特别提醒:切勿把上述问题当作唯一目标。实际漏洞赏金中,许多测试者只会在 WordPress 站点上机械复现这几类已知问题,而对更深层的业务逻辑、自定义插件代码与鉴权缺陷视而不见。

正确姿势是:

  • 把这些检查项作为进入目标后的快速热身清单(半小时内扫完,低投入);
  • 大部分情况下它们更适合与其他低危漏洞串联(如用户枚举 + 爆破、xmlrpc SSRF + 内网探测),而不是单独提交;
  • 真正的价值往往隐藏在目标自研的主题/插件代码中——结合仓库 Web_Source_Review/codereviewtips.md 的源码审计思路,逐行审查自定义 PHP 文件的输入处理,往往能找到比通用端点漏洞严重得多的缺陷。

9. 速查清单

检查项关键端点/参数前提条件典型影响
xmlrpc.php/xmlrpc.php+pingback.ping接口未被禁用反射放大 DoS、内网端口扫描 SSRF、爆破跳板
目录列表/wp-content/uploads/服务器未关闭 autoindex敏感文件信息泄露
CVE-2018-6389/wp-admin/load-scripts.php?load[]=...WordPress < 4.9.3服务拒绝
CVE-2021-24364/wp-admin/admin-ajax.php?action=tie_get_user_weatherJannah 主题 < 5.4.4反射型 XSS
WP-Cron DoS/wp-cron.php端点可访问(200 空响应)资源耗尽
用户枚举/wp-json/wp/v2/users/站点隐藏了用户用户名泄露,可链式爆破

资料来源:本文主体内容整理自 CMS/wordpress.md(作者 Mehedi Hasan Remon,@remonsec),并交叉印证仓库内 CVES/easycve.md、SSRF/SSRF.md、Application_Level_DoS/ALD_Methods.md 等姊妹文档。所有检测步骤与载荷均为实战验证过的可复现方案,正式测试前请务必确认目标授权范围。

  • 网络安全
  • 应用安全

【免费下载链接】HowToHunt

Collection of methodology and test case for various web vulnerabilities.

项目地址:https://gitcode.com/gh_mirrors/ho/HowToHunt
点击查看免费下载

相关推荐

上一篇:MusicFree提示组件Tip:辅助用户操作
下一篇:Node.js LTS版本管理终极指南:使用n工具轻松管理长期支持版本 🚀

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询