菜刀:
PHP:
请求头中:ua头为百度,火狐
请求体中传递的payload为base64编码,有assert、eval、base64等特征字符
,并且存在固定的字符串QGluaV9同时z0是菜刀默认的连接参数。
JSP:
主要在i=A&z0=GB2312,第一个参数值为A-Q第二个参数指定编码,其参数值为编码。
ASP:
解密body后:存在Execute和Response.Write和Response.End
蚁剑:
请求:以_0x 开头的参数名
PHP:
请求体有@ini_set("display_errors","0")(含义是关闭php错误显示)、@set_time_limit(0)(含义是脚本可以一直无限时执行)
ASP:
只有eval执行,请求体存在OnError ResumeNext、Response.End、Response.Write(和菜刀一致)
execute变成了拼接形式Ex"&cHr(101)&"cute
JSP:
在jsp使用的是Java类加载(ClassLoader),同时会带有base64编码解码等字符特征。(用蚁剑连jsp情况不多)
蚁剑返回包格式:随机数+响应内容(一般是明文)+随机数
冰蝎3.0
冰蝎的通信过程可以分为两个阶段:密钥协商和加密传输(从2.0开始就是)
第一阶段是通过get请求,返回包状态码为200,返回内容必定是16位的密钥
请求头:content-type一定为application/octet-stream、内置的userAgent大多都比较老(25),Accept默认为:Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 (设置了客户端接收响应的优先级)、Cache-Control默认为:no-cache (表示客户端不缓存该响应)、Connection默认为Keep-Alive(保持长连接)content-length可能为固定的几个长度:8803、257、15620、340
冰蝎4.0
请求头:Accept: application/json, text/javascript, /; q=0.01,Connection: Keep-Alive(保持长连接)
端口:连接使用本地端口在49700左右,每连接一次,每建立一次新的连接,端口就依次增加。
PHPshell:
存在eval、assert等关键词;
aspshell:
在for循环进行一段异或处理
JSPshell:
利用java的反射,所以会存在 ClassLoader、getClass().getClassLoader() 等字符特征
所有冰蝎webshell默认预共享密钥是rebeyond的md5值得前16位e45e329feb5d925b
哥斯拉:
请求头:Cookie带着;pass=eval(base64_decode...,pass=加密数据
shiro反序列化:查看cookie中rememberme字段
fastjson反序列化:请求报文中查找json格式的数据,@type字段、重点看有无RMI、LDAP或者出网的一些行为
st2-045:请求头中的Content-Type字段
Struts2/流量特征
1.GET,POST,content-type2.*.action文件/*.jsp文件3.JAVA开发4.OGNL表达式注入5.%{}
shiro反序列化/流量特征
1.cookie传输2.响应头:Set-Cookie: rememberMe=deleteMe3.请求头: rememberMe=cookie4.Ase 加密5.550/721的利用 cookie 进行填充之后 很长
log4j2流量特征
存在:1.${}2.Jndi注入3.Ldap4.Rmi5.dns6.Ip
Fastjson/流量特征
1.json数据传输2.json数据中@type3.JAVA代码4.利用RMI LOAP协议5.常见利用链(cc3 cc5)6.高危类
JAVA反序列化文件头16进制开头为ac ed 00 05