【Web】小白友好的Java内存马基础学习笔记

news/2024/5/19 23:44:43 标签: java, 内存马, webshell, web, ctf, web安全, 木马

目录

简介

文件马与内存马的比较

文件马原理

内存马原理

内存马使用场景

内存马分类

内存马注入方式


这篇文章主要是概念性的,具体技术细节不做探究,重点在祛魅。

简介

内存马(Memory Shellcode)是一种恶意攻击技术,旨在通过利用程序或操作系统的漏洞,将恶意代码注入到系统内存中并执行。与传统的攻击方式不同,内存马不需要将恶意代码写入磁盘上的文件,而是直接在内存中进行操作,从而避开传统的安全防护措施。

内存马的危害性在于它可以绕过许多传统的安全防护机制,例如防病毒软件和防火墙,因为恶意代码不会留下明显的痕迹或文件。此外,由于直接在内存中执行,内存马攻击也更难以被检测和追踪。

文件马与内存马的比较

文件马原理

查找jsp文件,转换为.java文件 -> 编译为.class文件 -> 加载到JVM运行时内存 -> 实例化Servlet对象 -> 调用_jspService()处理业务逻辑

内存马原理

1.获取上下文环境Context对象
2.调用Context的方法,动态添加对象

内存马使用场景

1、禁止外连,不能反弹shell的情况
2、禁止写入文件的情况
3、写入文件会告警的情况
4、不支持.jsp文件解析的情况

内存马分类

1、Servlet型内存马,Servlet、Filter、Listener(需要借助于.jsp文件)
2、框架类型内存马,SpringController、Interceptor(需要借助于Java代码)
3、Agent类型内存马(需要借助于.jar文件)

内存马注入方式

1、基于JSPWebShell植入内存马
2、通过JavaAgent植入内存马
3、基于JavaWebRCE漏洞植入内存马【如:Fastjon(反序列化、JNDI)、SpringCloudGateway(创建恶意路由)、Log4j2 (JNDI)、Shiro(反序列化)、FreeMarker(SSTI)】


http://www.niftyadmin.cn/n/5372842.html

相关文章

Java:JDK8新特性(Stream流)、File类、递归 --黑马笔记

一、JDK8新特性(Stream流) 接下来我们学习一个全新的知识,叫做Stream流(也叫Stream API)。它是从JDK8以后才有的一个新特性,是专业用于对集合或者数组进行便捷操作的。有多方便呢?我们用一个案…

007集——数据存储的端序(大端序和小端序转换代码)——VB/VBA

VB/VBA存储的端序 1、要想制造高性能的VB/VBA代码,离了指针是很难办到的。 2、因为VB/VBA里,用Long来表示指针,而32位(包括64位兼容的)计算机里4字节整数的处理,是最快的方式! 3、要想用指针来处理数据,…

区间dp 笔记

区间dp一般是先枚举区间长度,再枚举左端点,再枚举分界点,时间复杂度为 环形石子合并 将 n 堆石子绕圆形操场排放,现要将石子有序地合并成一堆。 规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆的石子数记做该…

ubuntu22.04 有一台机器说有4T硬盘,但是df的时候看不到,怎么查找

在 Ubuntu 22.04 上,如果你有一块硬盘在使用df命令时未显示,这通常意味着硬盘尚未被挂载或者根本未被分区和格式化。以下是一些步骤来帮助你识别和准备新硬盘: 1. 检查硬盘是否被系统识别 首先,使用lsblk命令来检查系统是否识别…

Error和Exception有什么区别?Java中的OutOfMemoryError是什么?如何解决它?什么是Java中的异常处理的最佳实践?

Error和Exception有什么区别? Error和Exception在Java中都表示了某种问题或异常情况,但它们之间存在明显的区别。 严重性: Error:通常表示系统级错误或底层资源错误,如内存不足、系统崩溃等。这些错误是严重的&#x…

机器学习复习(8)——逻辑回归

目录 逻辑函数(Logistic Function) 逻辑回归模型的假设函数 从逻辑回归模型转换到最大似然函数过程 最大似然函数方法 梯度下降 逻辑函数(Logistic Function) 首先,逻辑函数,也称为Sigmoid函数&#…

C#系列-C#访问hadoop API(9)

在C#中访问Hadoop通常涉及到与Hadoop分布式文件系统(HDFS)进行交互,以及可能执行MapReduce作业或其他Hadoop生态系统组件(如HBase或Hive)。虽然Hadoop原生是用Java编写的,但是可以通过一些库在C#中与Hadoop…

《动手学深度学习(PyTorch版)》笔记7.7

注:书中对代码的讲解并不详细,本文对很多细节做了详细注释。另外,书上的源代码是在Jupyter Notebook上运行的,较为分散,本文将代码集中起来,并加以完善,全部用vscode在python 3.9.18下测试通过&…