各类漏洞以及工具特征

springboot未授权访问

1、http头部中不包括Cookie、Authorization等会话信息

2、访问SpringBoot服务的URL或响应内容类型包括spring-boot特征

 菜刀特征

1.请求体中存在eval,base64等特征字符

2.请求体中传递的payload为base64编码,并存在固定的QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtpZihQSFBfVkVSU0lPTjwnNS4zLjAnKXtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO307ZWNobygiWEBZIik7J

解码内容:@ini_set("display_errors","0");@set_time_limit(0);if(PHP_VERSION<'5.3.0'){@set_magic_quotes_runtime(0);};echo("X@Y");

    字段解析:1.ini_set 设置php配置选项,将display_errors为0,表示禁止显示错误信息

    2.set_time_limit 设置php脚本的最大执行时间为0,使用@忽略错误信息

    3.set_magic_quotes_runtime将魔术引号设置为0

3.请求体的UA是百度和火狐

蚁剑特征

每个请求体都存在@ini_set("display_errors"."0");@set_time_liimit(0)开头。

使用base64加密的payload,数据包存在以下base加密的eval命令执行,数据包的payload内容存在几个分段内容,分别使用base64加密,解密后可以看到路径和相关命令

响应包的结果返回格式为:随机数,编码后的结果,随机数

1.所有webshell客户端连接php类webshell都有的一种代码蚁剑混淆加密后还有一个明显的特征即参数大多是_0x开头的参数名

2.PHP类webshell链接流量

蚁剑的正文内容经过解码后,特征有@ini_set("display_errors","0"); 并且也有eval明显的特征

3.payload特征

  php使用assert,eval执行

  asp使用eval 

  jsp使用java类加载(classloader),同时带有base64编码解码等字符特征

冰蝎流量特征(AES加密)

每个请求头中存在

pragma:no_cache
cache-control:no-cache
accept:text/html,application/xhtml+xml,application/xml;
q=0.9,image/webp,image/apng,/*;
q=0.8,application/signed-exchage;
v=b3;q=0.9

冰蝎2流量分析

1.采用密钥协商机制,客户端先用GET方式,携带密码发起握手请求,服务端生成随机密钥写入session

2.客户端将源码如assert|eval("pphinfo();")进行aes加密后发送到服务端,服务端通过解密得到的字符串再通过explode函数进行分割后,调用并执行相应命令

php shell特征:

GET 方式
请求行携带参数,格式为/weshell路径?pass=xx
请求头字段 Accept:text/html,image/gif,image/jpeg,*;q=.2,*/*,q=.2
请求体为空
响应体为16字节字符

其余数据包,命令执行,都是post方法,请求体和响应体为加密的字符串

即通信阶段生成aes密钥,并在第二个响应包铭文传递。

冰蝎3流量分析

3的aes密钥密码的32位md5的前16位是内置的,免去了密钥协商阶段

流量方面主要根据Accept,UA,数据包长度进行判断,属于弱特征。

冰蝎3的请求行只有文件路径没有参数
accept字段有application/xhtml+xml,application/xml,application/signed-exchage字段;
accept;text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
cache-control:no-cache
pragma:no-cache
请求体很长,数千字节因为经过了aes加密

哥斯拉(base64加密)

通信阶段

测试连接会发送两个包,提示success,点击确认会再发送一个包,和第二个包的请求体不同但响应体相同,用于获取环境变量(进入shell)

执行命令时,一个命令一个数据包

所有请求体只有一个密码字段。

除了测试连接和进入shell的数据包外,其他包的请求头第二行都为cookie字段

都有响应体,呈现规律是11cd6a8758984163    XXXX    6c37ac826a2a04bc  首尾字节可以去掉,有效载荷为XXXX的内容

第一个包的流量

 第二个包

 提示success后会再发送一个数据包

 第三个包

 解码得

 执行ipconfig命令

请求数据包

请求数据包的pass密码后面都是运行的代码

响应数据包

 响应数据包要注意首尾的特征码,返回的具体内容要截取掉首尾的字符串例如

中间的内容才是返回内容

 

posted @ 2023-07-11 17:55  lisenMiller  阅读(90)  评论(0编辑  收藏  举报