在日常的安全分析与应急响应中,我们常会遇到经过混淆或加密的Webshell通信流量。手动分析这些流量费时费力,一个得力的在线解密工具能极大提升效率。今天介绍的这个工具,就专注于解决这个痛点。
工具访问地址:https://potato.gold/navbar/tool/webshellDecrypt/index.php
工具核心功能一览
该工具主打四大功能,覆盖了大部分常见的Webshell流量解密场景:
- 常见Webshell流量一键解密:完美兼容主流PHP Webshell的常见加密方式。
- AES专项解密:内置海量密钥库(超过50万个Key),支持对AES加密内容进行爆破尝试。
- 各类单项解密:支持Base64、URLDecode、Rot13、StrRev、Chr等编码或简单加密的独立或组合解密。
- 自定义JS解密:允许用户输入自定义的JavaScript解密函数,处理非标准的或自定义的加密逻辑。
下面是工具的主界面概览:

功能详解与操作演示
1. 常见Webshell流量一键解密
此功能针对的是那些使用常见套路(如多重Base64、字符拼接、AES+Base64组合等)加密的PHP Webshell。你只需将捕获到的加密流量粘贴到输入框,点击“尝试所有”,工具会自动检测并应用可能的解密链。
例如,粘贴一段加密代码后,工具成功识别出其中使用了AES和Base64解码:

2. AES专项解密
当确认或怀疑流量使用了AES加密时,可以使用此功能。工具不仅支持手动输入密钥进行解密,其强大的地方在于后台预置了超过50万个常用密钥,可一键发起爆破尝试,智能匹配可能的密钥。
操作时,在“AES密钥”区域输入加密数据,点击“尝试所有”,工具便会利用内置的密钥库进行匹配解密。

3. 各类单项/组合解密
对于简单的编码或加密,工具提供了模块化的解密选项。你可以勾选一项或多项(如Base64、URLDecode、Rot13等),然后对输入的内容进行指定方式的解密。
下图展示了如何对一段内容进行Base64单项解密:

4. 自定义JS解密
这是该工具非常灵活的一个特性。面对千奇百怪的自定义加密方法,你可以将解密逻辑用JavaScript编写出来,放入“自定义js解密”区域。工具会执行这段JS代码来处理你的输入数据。
例如,你可以编写如下JS代码来解密一段自定义算法加密的字符串:

var data = $("#input").val(); //取自input输入框
var key = "e4e329fob5d925b";
var result = [];
for (var i=0; i<data.length; i++){
result.push(String.fromCharCode(data.charCodeAt(i) ^ key.charCodeAt(i % key.length)));
}
$("#output").val(result.join(''));
5. 实用的记录与剪贴板功能
为了方便分析,工具会将每次的解密尝试记录并编号保存。这些记录存储在浏览器的LocalStorage中,即使关闭浏览器标签页,下次访问时记录仍然存在。你可以随时查看、复制某条记录的解密结果,或清理记录。

获取与使用
这是一个开源的在线工具,你可以直接访问上述地址使用,也可以选择本地部署。
项目开源地址:https://github.com/Potato-py/webshellDecrypt
将项目下载到本地后,按照README的说明即可搭建属于自己的Webshell流量解密环境,用于内部渗透测试或学习研究。
希望这个工具能帮助你在分析加密Webshell时事半功倍。如果你有更好的想法或发现了新的加密模式,不妨到云栈社区的对应板块分享讨论,与更多安全爱好者一起交流成长。