目录
1.sqlmap
1.常规GET请求
2.通过--os-shell写入shell
3.post请求
2.蚁剑
编码加密后
3.冰蝎
冰蝎_v4.1
冰蝎3.2.1
4.菜刀
5.哥斯拉
1.sqlmap
1.常规GET请求
使用的是sqli-labs的less7
(1)User-Agent由很明显的sqlmap的标志,展示了sqlmap的版本
但是抓包保存文件,不会展示sqlmap的特征
2.通过--os-shell写入shell
D:/phpstudy_pro/WWW/sqli/Less-7/shell.php
开始写入文件,后面几次都是在查询shell位置
3.post请求
sqli-labs第17关
先burp抓包保存为brute.txt,然后使用sqlmap跑
没有明显特征
2.蚁剑
蚁剑有很明显的@ini_set("display_errors","0")
这段代码基本是所有WebShell客户端链接PHP类WebShell都有的一种代码,但是有的客户端会将这段编码或者加密,而蚁剑是明文,所以较好发现,同时蚁剑也有eval这种明显的特征。
编码加密后
有以上所示加密编码,base64,rot13都有特征@eval;chr,chr16特征为@eVAl
rsaphp有以“_0X....”这种开头特征
3.冰蝎
冰蝎_v4.1
(1)发现请求包长度一般较长;
(2)然后查看http流,发现内容有大量加密内容
(3)连接端口较大,一般在50000左右;
(4)content-type(弱特征)一般是:application/x-www-form-urlencoded;
(5)使用长连接,避免了频繁的握手造成的资源开销。默认情况下,请求头和响应头里会带有 Connection:Keep-Alive;
(6)与冰蝎的前面两个版本相似,进行请求时内置了十几个User-Agent头,每次请求时会随机选择其中的一个。
(7)默认时,冰蝎 webshell都有“e45e329feb5d925b” 一串密钥,与冰蝎3.0相同。
冰蝎3.2.1
(1)请求包长度长
(2)tcp连接端口大
(3)content-type弱特征,
(4)Cache-Control: no-cache
(5)Pragma: no-cache
(6)user-agent:有WOW64
(7)对连接地址做了伪装:http://172.16.16.97/opvt/M.php
(8)使用AES加密 + base64编码,取消了2.0的动态获取密钥,使用固定的连接密钥,AES加密的密钥为webshell连接密码的MD5的前16位,默认连接密码是"rebeyond"(即密钥是md5('rebeyond')[0:16]=e45e329feb5d925b)。
4.菜刀
首先打开连接
User-Agent有baiduspider明显特征,同时可以发现有array_map,里面有eval函数,是用来传递payload的,使用了base64加密。后面是base64加密内容,解密查看
可以看到这段代码@ini_set("display_errors","0")基本是所有WebShell客户端链接PHP类WebShell都有的一种代码,菜刀这里加密了。
再解密查看value:
注意:
1.有少数时候eval方法会被assert方法替代。
2.$_POST也会被$_GET、$_REQUEST替代。
3.z0是菜刀默认的参数,这个地方也有可能被修改为其他参数名。
5.哥斯拉
这里使用的php生成的木马,如上图
(1)Content-type(弱特征)application/x-www-form-urlencoded
(2)tcp连接端口大
(3)有key特征
(4)通过有eval,base64_decode等函数
(5)在请求包的Cookie中有一个非常致命的特征,最后的分号标准的HTTP请求中最后一个Cookie的值是不应该出现“;”的。