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

目录

简介

文件马与内存马的比较

文件马原理

内存马原理

内存马使用场景

内存马分类

内存马注入方式


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

简介

内存马(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)】

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java基础学习笔记 # 一、Java简介 Java是一种面向对象的编程语言,由Sun Microsystems(现在是Oracle)于1995年首次发布。它具有跨平台的特性,可以在不同的操作系统上运行。Java语言被广泛应用于开发各种类型的应用程序,包括桌面应用、Web应用、移动应用等。 # 二、Java基本语法 ## 1. 变量与数据类型 Java是强类型语言,每个变量必须先声明后使用。Java提供了多种数据类型,包括基本数据类型(整数、浮点数、字符、布尔值)和引用数据类型(类、接口、数组)。 ## 2. 运算符 Java提供了多种运算符,包括算术运算符、关系运算符、逻辑运算符等,用于进行各种数学或逻辑运算。 ## 3. 控制流程 Java提供了多种控制流程语句,包括条件语句(if-else语句、switch语句)、循环语句(for循环、while循环)、跳转语句(break语句、continue语句)等,用于控制程序的执行流程。 ## 4. 方法和类 Java中的方法用于封装一段可重复使用的代码,可以带有参数和返回值。类是Java程序的基本组织单位,包含了属性和方法。可以使用关键字class定义一个类,通过实例化类的对象来调用其方法。 # 三、面向对象编程 Java是一种面向对象的编程语言,面向对象编程的核心概念包括封装、继承和多态。 ## 1. 封装 封装是将数据和行为打包成一个类,通过访问修饰符(public、private等)控制对类的成员的访问权限。 ## 2. 继承 继承允许一个类继承另一个类的属性和方法,并且可以通过重写来修改或扩展继承的方法。 ## 3. 多态 多态允许通过父类类型的引用来引用子类对象,实现对不同子类对象的统一调用。 # 四、异常处理 Java提供了异常处理机制,用于处理程序中的错误情况。异常分为可检查异常(checked exception)和不可检查异常(unchecked exception),可以使用try-catch语句来捕获和处理异常。 # 五、Java标准库 Java标准库提供了大量的类和接口,用于完成各种常见的任务。其中包括输入输出、集合、多线程、网络编程等功能,可以大大简化开发过程。 以上是我学习Java基础笔记总结,希望对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值