什么?你还不会webshell免杀?(一)

您所在的位置:网站首页 发现webshell 什么?你还不会webshell免杀?(一)

什么?你还不会webshell免杀?(一)

#什么?你还不会webshell免杀?(一)| 来源: 网络整理| 查看: 265

webshell免杀(一):字符串变形1.简单字符串拼接 免杀效果某狗4.0

可以看到这里非常简单的混淆就能绕过安全狗

某塔最新收费waf

可以看到这简单的混淆是无法绕过宝塔的

但是如果我们不使用敏感函数作为参数的话

还是可以发现其实只是过滤参数里的内容,其实依旧比较好绕过,下下面的字符串处理中,我们会使用到函数来进行流量加密和代码加密

2.利用字符串函数 ucwords() //把每个单词的首字符转换为大写 ucfirst() //首字符转换为大写 trim() //移除字符串两侧的字符 substr_replace() //函数把字符串的一部分替换为另一个字符串 substr() //函数返回字符串的一部分 strtr() //函数转换字符串中特定的字符 strtoupper() //把所有字符转换为大写 strtolower() //把所有字符转换为小写 strtok() //函数把字符串分割为更小的字符串 str_rot13() //函数对字符串执行 ROT13 编码 chr() //从指定 ASCII 值返回字符 hex2bin() //把十六进制值转换为 ASCII 字符 bin2hex() //ASCII 字符的字符串转换为十六进制值 gzcompress()、gzdeflate()、gzencode() //字符串压缩 gzuncompress()、gzinflate()、gzdecode() //字符串解压 base64_encode() //base64编码 base64_decode() //nase64解码 pack() //数据装入一个二进制字符串 unpack() //从二进制字符串对数据进行解包

在这里我们使用base64加参数加密

可以看到绕过,成功了。。。。。可以看到对于收费的waf而言依旧比较好绕过,其实在webshell上的查杀大部分都是在于规则上的匹配,对于php而言如果想绕过的话基本上都是"功夫不负有心人",只要去花时间都是可以绕过的。如何在根本上去减少webshell带给服务器的危险,其实直接禁用一些关键函数,和不使用有危险的扩展是非常有效的方法。虽说现在我们已经绕过了常见的waf,但是在真正的渗透中,目标都使用的是更高级的云waf,不但规则更新的比较快而且,还会将被拦截webshell进行记录,存在被溯源,和绕过的新思路被发现的可能,因此学习更多的混淆技巧,是比较重要的。

接下来讲解一下不常用的函数

gzcompress系列

可以看到这里解压后的内容变成了一堆乱码,在这里值得注意的是,如果我们利用方式依旧像base64一样是行不通,因为这一串乱码是无法提过字符串的形式准确的返回给服务端的

这里笔者提供两个思路:

1.base64编码

再次利用base64编码,如果没有经验的兄弟可能会认为这是多此一举,我直接用base64不就完了么,其实在真正的对抗当中,很多安全设备是可以识别base64编码的,可以自动解码判断解码后的内容。这一不其实就是为了,防止被解码后,内容被识别

2.伪装成文件,以二进制方式传输

这种发送迷惑性比较大,很少有waf会去识别二进制流中的内容,顶多就是一些简单的正则表达式去匹配一些字符串,乱码根本就不全去识别

由于不能直接防止粘贴,因此需要在本地生成二进制文件

在本地搭建一个上传页面只为获取数据包

源码如下

文件上传 上传


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3