webshell(中)

今天来说一些不常用的函数

gzcompress系列

webshell(中)_第1张图片

webshell(中)_第2张图片

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

webshell(中)_第3张图片

这里提供了两个思路:

1.base64编码

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

 

webshell(中)_第4张图片

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

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

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

webshell(中)_第5张图片

webshell(中)_第6张图片

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

源码如下

webshell(中)_第7张图片

webshell(中)_第8张图片

可以看到这些后缀和mime这些都是文件上传的敏感点,只要我们不去触发的话,waf还是会对我们很信任的

webshell(中)_第9张图片

可以看到这里执行了phpinfo,关键在于这串字符是非常难解析的,一般的waf是无法解析出来的

pack系列

webshell(中)_第10张图片

webshell(中)_第11张图片

如果有经验的话可能会觉得这个和hex2bin非常相似,其实pack函数比hex2bin强大的多

语法:

webshell(中)_第12张图片

此函数提供了多中格式,可以将文件或者流量变得更加复杂

 

你可能感兴趣的:(安全)