在线webshell查杀

WebShell 查杀 ZIP 自动解包 23 条规则 更新于 2026-11-04
要扫描的文件 支持 .php 与 .zip;文件不上传,读取与扫描都在本机
把 PHP 文件或 ZIP 拖到这里,或 点击选择 单文件 10 MB 以内 · ZIP 解包后的 PHP 总大小 30 MB 以内 · 只做静态扫描,不执行代码
多选可以一起扫;ZIP 里的目录也会展开
设置 敏感度越高,越会把「可疑函数」也算进结果
扫描范围
敏感度
显示代码片段
只看有问题的文件
选好文件后点「开始扫描」。规则命中只是线索,最终结论要人工看代码。
扫描结果 点任意一行展开命中详情
还没有扫描结果
把怀疑有后门的 PHP 文件或整个站点压缩包拖进来,规则会指出哪几行值得先看。
纯前端静态扫描:文件不上传、代码不被执行;规则命中是线索,不能替代人工审计。

工具介绍

站点被挂后门时,攻击者通常只丢一两个文件进去,名字还可能伪装成 wp-config.php、cache.php。全站几百个文件逐个打开看不现实,这一页把常见后门特征做成规则,批量过一遍,先把可疑的那几个挑出来。

判断逻辑不是简单的关键字匹配,而是看组合:单独出现一个 system(),很可能只是运维脚本;但「读取用户输入($_POST)+ 执行命令(system)」同时出现,基本可以确定是后门。同理 eval(gzinflate(base64_decode(...))) 这种三层嵌套解码,是免杀木马的典型写法。

规则分三级:高危是直接执行代码或系统命令的函数;可疑是解码、写文件、读取原始请求体这类配合动作;提示是超长单行、大段十六进制转义这类混淆特征。页面上可以按敏感度筛选,避免一屏都是「可能有问题」。

整页没有后端接口,ZIP 也在浏览器里解开(用原生的 DecompressionStream),文件不离开本机。

应用场景

想做什么怎么做说明
站点疑似被挂马,先查哪几个文件打包整站上传 zip按风险分排序,从最高分的往下看
收到别人给的一套源码只扫 php看有没有混进后门文件
排查某几个可疑文件直接拖这几个 php比上传整包快
确认清理干净了清空后重扫分数归零才算清完
给同事一份结论导出报告文件名、行号、规则说明、代码片段都有

常见问题

为什么正常的插件文件也被标成可疑?

很多正常程序也会用 eval、base64_decode、file_put_contents(比如缓存、模板编译、图片处理)。规则只能看出「这里出现了这类函数」,判断不了意图。看结论列:只有「读用户输入 + 执行」同时出现才会判高危,其余标成可疑或留意,需要你自己看那几行代码。

ZIP 里的中文文件名显示成乱码?

Windows 打的 zip 常用 GBK 编码文件名,而 ZIP 规范建议用 UTF-8。页面先按 UTF-8 读,读不出正常字符再按 GBK 重读一次,所以大部分中文名能正常显示;如果还是乱码,说明压缩工具写的是别的编码,不影响文件内容扫描。

风险分是怎么算的?

高危规则每条 10 分,可疑 4 分,提示 1 分;「读输入 + 执行」同时命中额外加 20 分,「解码 + 执行」同时命中加 15 分。所以一个典型的一句话木马(eval($_POST['x']))会拿到 30 分以上,而一个正常用到 eval 的模板引擎大约只有 10 分。

能查出加密过的后门吗?

能查出一部分。像 eval(gzinflate(base64_decode(...))) 这种,解码函数与执行函数同时出现,规则会直接判高危。但如果后门把代码藏在图片里、或用了自定义加密再自己解密,静态规则看不出明文,需要动态查杀或人工分析。

扫描会执行代码吗?

不会。文件只被当成文本读取,正则匹配完就结束,没有任何执行环境。所以扫描本身不会触发后门,也不会连外网。但也因为这样,它只能看「代码长什么样」,不能看「跑起来干了什么」。

关于隐私

这个工具完全在你的浏览器里运行:你输入的内容、上传的文件,都不会离开你的电脑,也不会传到任何服务器。

  • 不上传——处理全程在本地完成,页面不向后端发送你的数据;
  • 不留存——我们不保存、不记录你的任何输入内容;
  • 断网也能用——页面加载完成后,断开网络照样正常使用。

放心用,数据只在你自己的电脑上转一圈。

更新日志

2026-10-23
功能体验升级与性能优化
早期版本
工具正式上线发布

相关工具推荐