当前位置: 当前位置:首页 > 休闲 > wordpress渗透正文

wordpress渗透

作者:娱乐 来源:休闲 浏览: 【大 中 小】 发布时间:2026-10-17 06:20:57 评论数:

WordPress 的渗透测试,最常被利用的入口不是核心代码,而是插件。核心团队响应漏洞的速度很快,但插件生态太庞大了——五万多个插件,质量参差不齐,很多几年没更新过。去年爆出的 Elementor Pro 漏洞就是一个典型例子:攻击者只需要构造一个请求,就能在未授权的情况下创建管理员账户。这类漏洞在 WPScan 的数据库里一抓一大把。

我平时做 WordPress 渗透测试,第一步从来不是扫端口,而是看版本和插件列表。方法很简单,浏览器访问 /wp-content/plugins/ 目录,如果服务器没关目录索引,所有插件文件夹直接列出来。或者用 ?rest_route=/wp/v2/users 这个 REST API 端点,很多站点没做权限控制,直接返回用户名列表。有了用户名,暴力破解就省了一半力气。

插件漏洞利用起来往往比想象中容易。拿 WP File Manager 来说,6.0 版本之前有个任意文件上传漏洞,攻击者登录低权限账户后就能上传 PHP 文件。我测试过一个电商站,装了这个插件,前台注册功能是开放的。注册一个订阅者账户,登录后直接访问文件管理器页面,上传一个 shell.php,服务器就沦陷了。整个过程不到五分钟,不需要任何提权操作。

主题文件编辑器是另一个经典入口。后台 外观 → 主题文件编辑器 默认允许直接编辑 PHP 文件。很多管理员不知道这个功能可以关掉——在 wp-config.php 里加上 define('DISALLOW_FILE_EDIT', true); 就能禁用。如果没禁用,拿到管理员权限后直接往 functions.php 里写一句话木马,比上传插件还快。我见过一个站,管理员密码是 admin123,用 WPScan 枚举出用户名后,Hydra 跑了三十秒就进去了。

数据库导出功能也经常被忽视。WordPress 默认的 wp-config.php 里存着数据库明文密码。一旦通过 LFI 漏洞读到这个文件,或者通过 phpMyAdmin 弱口令进去,整个数据库就能拖走。用户密码是 MD5 加盐的,但很多人用的弱密码,彩虹表一查就出来。我试过一个站,导出的 wp_users 表里,管理员密码哈希对应的明文是 password——这种密码在字典里排前一百。

XML-RPC 接口是另一个重灾区。默认开启,支持 system.multicall 方法,可以一次请求尝试上百个密码。很多主机商不封这个接口,WPScan 的 --password-attack xmlrpc 模式就是利用这个特性。我实测过,对同一个站点,XML-RPC 的爆破速度比 wp-login.php 快三到四倍,而且不会触发登录失败日志——因为请求都走同一个 POST 体。

防御方面,说几个实际有效的。插件能删就删,不能删就保持更新——WPScan 的漏洞库更新很及时,订阅邮件能提前收到预警。后台登录加个 .htaccess 限制 IP,或者装个 Wordfence 限制登录尝试次数。REST API 如果不用,直接在主题的 functions.php 里加 remove_action('rest_api_init', 'rest_api_init'); 禁掉。文件编辑器在 wp-config.php 里关掉,这个操作成本最低,效果最直接。

最后说个真实案例。上个月帮朋友看一个 WordPress 站,首页被挂了博彩链接。查了一圈,发现是 wp_options 表里的 siteurl 被改了,同时 wp_posts 里多了一条 ID 为 1 的文章,内容就是那些链接。问下来,他三个月前装过一个“SEO 优化”插件,装完就没管过。那个插件版本是 1.2.3,WPScan 上显示 1.2.4 修复了一个 SQL 注入漏洞。攻击者用注入点写了 siteurl,然后插了一篇隐藏文章。清理花了两个小时——删插件、改回 siteurl、删文章、重置所有管理员密码、检查 wp-config.php 有没有被改。教训很直接:插件不是装上就完事,得盯着更新。