研判特征流量

研判溯源应急

准备-检测-抑制-根除-恢复-跟踪总结

中级

内存马的判断和清除:

判断方式:先判断是通过什么方法注入的内存马,可以先查看web日志是否有可疑的web访问日志,如果是filter或者listener类型就会有大量url请求路径相同参数不同的,或者页面不存在但是返回200的,查看是否有类似哥斯拉、冰蝎相同的url请求,哥斯拉和冰蝎的内存马注入流量特征与普通webshell的流量特征基本吻合。通过查找返回200的url路径对比web目录下是否真实存在文件,如不存在大概率为内存马。如在web日志中并未发现异常,可以排查是否为中间件漏洞导致代码执行注入内存马,排查中间件的error.log日志查看是否有可疑的报错

清除方式:1.利用条件竞争把shell内容改写或者清除比较好用 2.重启服务 3.提前占用他的目录名

webshell:

主要需要鉴别一些高危的函数,比如eval,assert

蚁剑:

ini_set

ini_set_time

ini_set_limit

@ini_set(“display_errors”,“0”)

部分代码明文传输,较好辨认

菜刀:

老版本采用明文传输,非常好辨认

新版本采用base64加密,检测思路就是分析流量包,发现大量的base64加密密文就需要注意

冰蝎:

冰蝎1:冰蝎1有一个密钥协商过程,这个过程是明文传输,并且有两次流量,用来校验

冰蝎2:因为内置了很多的UA头,所以当某一个相同IP重复请求,但是UA头不一样的时候就需要注意了

冰蝎3:因为省去了协商过程,所以流量上可以绕过很多,但是其他特征依旧保留,比如ua头

冰蝎数据包总是伴随着大量的content-type:application什么什么,无论GET还是POST,请求的http中,content-type为application/octet-stream

还有他们的accept之类的长度总是等长,正常的根据应用场景和不同文件,长度是不同的

哥斯拉:

cookie这个值的地方有一个小纰漏,就是正常请求cookie最后结尾是没有分号的,可能后续作者会进行调整修改

还有响应,哥斯拉会响应三次,而且我认为还有一个地方需要注意的就是webshell连接,所以一般会设置长时间连接,所以connection这里会是keep-alive

fastjson流量特征:

fastjson原理:能够执行反序列化的根源定位在 @type

@type

还有commit值为true

不出网打法:#目前公开已知的poc有两个:com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl org.apache.tomcat.dbcp.dbcp2.BasicDataSource

#第一种利用方式需要一个特定的触发条件:

解析JSON的时候需要使用Feature才能触发,参考如下代码:JSONObject.parseObject(sb.toString(), new Feature[] {Feature.SupportNonPublicField});

#第二种利用方式: 则需要应用部署在Tomcat应用环境中,因为Tomcat应用环境自带tomcat-dbcp.jar 对于SpringBoot这种自带Tomcat可以直接以单个jar文件部署的需要在maven中配置tomcat- dbcp。

而且对于不同的Tomcat版本使用的poc也不同:

Tomcat 8.0以后使用

org.apache.tomcat.dbcp.dbcp2.BasicDataSource• Tomcat

8.0以下使用 org.apache.tomcat.dbcp.dbcp.BasicDataSource

log4j流量特征:

原理:该漏洞主要是由于日志在打印时当遇到${后,以:号作为分割,将表达式内容分割成两部分,前面一部分prefix,后面部分作为key,然后通过prefix去找对应的lookup,通过对应的lookup实例调用lookup方法,最后将key作为参数带入执行,引发远程代码执行漏洞

特征:${jndi:rmi

struts2:

流量特征:遇到之后先进行url解码在查看总体含义

redis未授权:

原理:redis使用了默认配置,使端口绑定在了0.0.0.0:6379并且暴露在公网的话

此时我们任意一台带有redis-cli的机器就可以直接访问,跳过登陆验证,从而可以写shell,写入shell的话使用config参数

thinkphp:

5.x通杀原理:路由url从Request::path()中获取,由于var_pathinfo的默认配置为s,我们可利用 G E T [ ′ s ′ ] 来传递路由信息,也可利用 p a t h i n f o 来传递,但测试时 w i n d o w s 环境下会将 _GET['s']来传递路由信息,也可利用pathinfo来传递,但测试时windows环境下会将 GET[s]来传递路由信息,也可利用pathinfo来传递,但测试时windows环境下会将_SERVER[‘pathinfo’]中的\替换为/。结合前面分析可得初步利用代码如下:index.php?s=index/\namespace\class/method

正则没写好

weblogic:

weblogic反序列化基于t3协议

shiro:

shiro550:硬编码导致密钥可以被爆破,然后利用密钥进行解密和反序列化构建payload

shiro721:这次没有了硬编码,但是rememberme字段又出问题了,导致可以构建恶意rememberme的值

服务端收到登录请求后,会对cookie的rememberMe字段的值进行base64解码,接着进行AES解密,然后反序列化

流量特征:rememberme字段长度异常

通过sql语句判断数据库类型:

1.根据注入后的报错信息判断

2.根据不同数据库所特有的表不同来判断

oracle:sys.user_tables

mysql:sysobjects

mysql v5.0以上:information_schema

access数据库:mysysobject

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/799754.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【IPV6】--- IPV6过渡技术之6 over 4隧道配置

1. IPV4和IPV6有什么区别? 2. IPV6如何在设备上配置? 3. IPV4和IPV6如何跨协议实现通信? 1. IPV4和IPV6 --- IPV6技术 - IP协议第六版 - 128位二进制数 - 2^12843亿*43亿*43亿*43亿 --- IPV4技术 - IP协议第四版 - 192.1…

python项目练习——18.文件加密和解密工具

这个项目可以让用户加密文件,以保护文件内容的安全性,也可以让用户解密已加密的文件。这个项目涉及到文件操作、加密算法等方面的技术。 代码示例: from cryptography.fernet import Fernet # 导入 Fernet 加密算法 import os # 导入 os 模…

Nginx 有关于网络连接的配置

网络链接的设置 超时时间 client_header_timeout client_header_timeout time; #默认单位 秒 客户端与服务器建立连接接收 HTTP 请求的时间,超出设置的时间即为超时。 默认:60 配置块:http、server、location client_body_timeout cl…

腾讯云流量怎么计算的?轻量服务器流量价格表

腾讯云轻量应用服务器套餐带流量包,就是有月流量限制的意思,超出轻量套餐的流量需要另外支付流量费,轻量服务器地域不同超额流量费用也不同,北京上海广州等中国内地地域流量价格是0.8元每GB,中国香港地域流量价格是1元…

创建自定义标题栏

我是qt新手,自己写的自定义标题栏,仅供参考 胜在简单易懂 实现 关闭 title 移动 三个功能 首先在.cpp文件中 this->setWindowFlags(Qt::FramelessWindowHint); 取消原先的标题栏 关闭和title结构简单 在一个布局中创建label和pushbutton,然后中间加一个弹簧 然后…

Redis Stack十部曲之三:理解Redis Stack中的数据类型

文章目录 前言String字符串作为计数器限制 List限制列表阻塞列表自动创建和删除聚合类型键限制 Set限制 Hash限制 Sorted Set范围操作字典操作更新分数 JSON路径限制 BitMapBitfieldProbabilisticHyperLogLogBloom filterCuckoo filtert-digestTop-KCount-min sketchConfigurat…

兼顾性能的数据倾斜处理方案

目录 前言 一、场景描述 二、常见的优化方法 2.1 Mapjoin 2.2 特殊值/空值打散 2.3 热点值打散,副表呈倍数扩散 2.4 热点数据单独处理/SkewJoin 2.5 方案总结 三、Distmapjoin 3.1 核心思路 3.2 代码实现 3.3 真实效果 四、方案总结 文章主要是介绍在支…

Java泛型方法

类上定义的泛型,在方法中也可以使用。但是,我们经常需要仅仅在某一个方法上使用泛型,这时候可以使用泛型方法。 调用泛型方法时,不需要像泛型类那样告诉编译器是什么类型,编译器可以自动推断出类型。 泛型方法的使用…

MUX VLAN

目录 原理概述 实验目的 实验内容 实验拓扑 1.基本配置 2.使用Hybrid端口实现网络需求 3.使用Mux VLAN实现网络需求 原理概述 在实际的企业网络环境中,往往需要所有的终端用户都能够访问某些特定的服务器,而用户之间的访问控制规则则比较复杂。在…

✌2024/4/3—力扣—字符串转换整数

代码实现&#xff1a; int myAtoi(char *str) {long ret 0;int flag 1; // 默认正数// 去除空格及判断符号位while (*str ) {str;}if (*str -) {flag -1;str;} else if (*str ) {str;}// 排除非数字的情况if (*str < 0 || *str > 9) {return 0;}while (*str > …

前端| 富文本显示不全的解决方法

背景 前置条件&#xff1a;编辑器wangEditor vue项目 在pc端进行了富文本操作&#xff0c; 将word内容复制到编辑器中&#xff0c; 进行发布&#xff0c; pc端正常&#xff0c; 在手机端展示的时候 显示不全 分析 根据h5端编辑器内容的数据展示&#xff0c; 看到有一些样式造…

大模型应用解决方案:基于ChatGPT和GPT-4等Transformer架构的自然语言处理

&#x1f482; 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】&#x1f91f; 一站式轻松构建小程序、Web网站、移动应用&#xff1a;&#x1f449;注册地址&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交…

性能优化 - 你知道webpack都可以帮我们做哪些性能优化吗

难度级别:中高级及以上 提问概率:75% webpack打包优化主要的思想就是合理利用浏览器缓存、减小代码体积以及减少HTTP请求数量。尽管我们在开发阶段已经做了大量的优化工作,但开发阶段难免存在疏忽,而且源代码也不能直接部署到服务器。可以说…

一起学习python——基础篇(7)

今天讲一下python的函数。 函数是什么&#xff1f;函数是一段独立的代码块&#xff0c;这块代码是为了实现一些功能&#xff0c;而这个代码块只有在被调用时才能运行。 在 Python 中&#xff0c;使用 def 关键字定义函数&#xff1a; 函数的固定结构就是 def(关键字)函数名字…

vue中绑定

在vue当中&#xff0c;要给元素绑定事件需要用到vue指令&#xff0c;指令一般以v-开头&#xff0c;例如绑定单击事件的指令是v-on:click “函数名”&#xff0c;简写为click “函数名” 例如以下例子&#xff1a;单击button按钮&#xff0c;执行showInfo函数&#xff0c;弹出…

Spring 源码学习笔记(一)之搭建源码环境

前言 一直以来对 Spring 源码的理解不够全面&#xff0c;也不成条理&#xff0c;只是对其中的某小部分比较了解&#xff0c;所以从今天开始要重新系统学习 Spring 的源码了。 搭建源码环境 首先需要说明的是&#xff0c;源码环境并不是必须的&#xff0c;搭建源码环境唯一的好…

[STL-list]介绍、与vector的对比、模拟实现的迭代器问题

一、list使用介绍 list的底层是带头双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前一个元素和后一个元素。与其他的序列式容器相比(array&#xff0c;vector&#xff0c;deque)&#xff0c;list通常在任意位置进行…

01.MySQL基础知识回顾

MySQL基础知识回顾 1.为什么要使用数据库 问题 如果把数据存储到内存中&#xff0c;那么重启后就消失了&#xff0c;我们希望一个数据被保存后永久存在于一个地方&#xff0c;也就是需要把数据持久化 什么是持久化 把数据保存到可掉电式存储设备中以供之后使用。大多数情况…

NIO与BIO

当谈到 Java 网络编程时&#xff0c;经常会听到两个重要的概念&#xff1a;BIO&#xff08;Blocking I/O&#xff0c;阻塞 I/O&#xff09;和 NIO&#xff08;Non-blocking I/O&#xff0c;非阻塞 I/O&#xff09;。它们都是 Java 中用于处理 I/O 操作的不同编程模型。 一、介…

vue-router v4.x命名路由,编程式跳转

命名路由&#xff0c;编程式跳转 const routes:RouteRecordRaw[] [{path:/,name:A,component: ()> import(../A.vue)},{path:/B,name:B,component: ()> import(../B.vue)}, ]通过name进行跳转 <template><div><router-link :to"{name:A}">…