WebStack主题重大安全漏洞详解:未授权任意文件上传导致网站被植入Webshell
正在逛街,突然收到阿里云发来的通知说我的网站发现webshell后门。
立刻赶回家登录管理后台查看,好家伙,几条安全告警,都是紧急,点击查看详情。

安全告警详情
事件类型是,发现网站后门文件,会对任意文件删除,或者主机文件信息进行探测,或者是任意文件写入。
并且还给出了具体的webshell文件的详细路径。
Webshell文件分析
赶紧把这个php webshell文件下载下来,用Claude Code分析一下,看看它会干些什么。
Claude Code说,这是一个php webshell,具体是一个文件上传/管理型后门程序。
这个shell有5个核心功能:
- 文件上传
- 远程下载
- 文件删除
- 文件列举
- 目录清空
并且这个webshell无认证保护,任何人都可以访问该文件以使用全部功能。
Claude Code还给出了攻击链示例,很简单只需要上传这个php,然后直接访问它就可以获得服务器的控制权限。
总之,这是一个功能完整的后门webshell,通常用于植入到web站点。
漏洞来源定位
那它又是怎么被上传到我的网站中的呢?
经过一番简单的日志定位,我锁定到我的子站中所使用的这个叫WebStack的WordPress主题。
既然定位到是从这个WordPress主题的安全漏洞上传的webshell,那就好说了。
WebStack主题安全分析结果
那就再用Claude Code对这个WordPress主题进行一次安全分析。
这里我已经把安全分析的结果生成到文档中了,我们一起来看看。
这里共发现5个安全漏洞,按严重程度依次从高到低排列:
1. 未授权的任意文件上传(最严重)
这是我们网站被安装webshell后门的根本原因。
漏洞原理:
AJAX 处理函数 io_img_upload 它同时注册了 wp_ajax_nopriv_img_upload 和 wp_ajax_img_upload。
这里涉及到一些WordPress的开发知识,在WordPress中 nopriv 的action表示未登录用户就可以触发的操作,而不含nopriv的action是指只有登录用户才可以触发的操作。
并且,在这个WordPress主题中的上传代码中,虽然扩展名白名单定义了只能上传jpg, png, jpeg格式的文件,但又没有执行检查。
而且MIME类型取自客户端,完全可以伪造。
所以基于以上三个缺陷叠加,导致任何人无需登录即可上传任意 PHP 文件。
Claude Code还给出了攻击示例,只需要简单的发送一个POST请求,就可以上传任意 PHP 文件。
服务器的响应会直接返回上传后的完整Webshell地址。
2. 遗留的可直接执行的上传脚本
这个文件,明确写了已经弃用,功能已经移至ajax.php,但是文件仍然存在于主题目录中,可以被直接访问。
3. 未授权的任意附件删除
它的本意,是删除视频前边介绍的io_img_upload函数中所上传的附件。
然后它在注册action的时候,同样注册了wp_ajax_nopriv_img_remove。
nopriv表示未登录用户也可以执行的操作,那就意味着任意用户都可以删除附件。
4. 开放重定向 + HTML属性注入
go.php是一个外链跳转页面,接收url参数,base64解开后直接拼入html输出,无任何过滤。
5. 混淆的eval代码
主题中搜索组件的javascript逻辑使用了js packer混淆打包。
那正常的主题代码无需混淆,Claude Code认为混淆会在遇到问题时大幅延迟安全人员发现问题的时间。
防御建议与实际防护效果
最后Claude Code还给出了防御建议,在Nginx或者是Apache配置中,禁止uploads目录下执行php程序就可以彻底防止这种webshell带来的危害。
好在,我的网站虽然被人植入了这个webshell后门,但是因为我的Nginx是配置了禁止uploads目录下执行php程序的,所以这个PHP后门根本就没有执行。
Webshell实际界面演示
事情到这里可能有些网友也想看看这个webshell运行起来到底是什么样子。
那我们就运行一下它。
这是运行后的样子:
它有一个主菜单,能列出文件,也可以清除上传的文件。
还有一个上传表单用于上传文件,然后指定服务器的文件地址就可以下载文件,也可以删除服务器上的文件。
底部还有一些使用说明。
很简单的一个webshell程序。
事件影响范围
从2026年4月中旬开始,使用 WebStack 导航主题的 WordPress 站点遭遇大面积入侵。
攻击者利用主题内置的图片上传接口,无需登录即可上传任意 PHP 文件(webshell),进而完全控制服务器。
漏洞修复情况
既然都分析出漏洞了,那么让Claude Code去修改修复这些漏洞也是分分钟的事情,这里我就不赘述了。
修复所有漏洞后的代码我已经开源在GitHub上了。
我这里进行了2轮漏洞分析,并修复,将这个主题中已知的和潜在的所有问题全部修复。
所以你也有在使用这个主题,那就赶紧更新一下吧。
总结提醒:正在使用WebStack主题的朋友,请务必尽快更新到修复版本,避免遭受同样的入侵风险。


