随笔分类 - Java
摘要:JavaWeb Java Web 组件 首先献上Tomcat架构神图: Servlet Servlet容器: 运行在Web服务器上的程序,作为来自HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层,它负责处理用户的请求,并根据请求生成相应的返回信息提供给用户。 大体原理图如下:
阅读全文
摘要:Java 双亲委派机制 首先得了解一下JVM和ClassLoader JVM 当前主流的有三种JVM: Sun公司:HotSpot BEA:JRockit IBM:J9VM 首先了解一下Java程序从编译到执行的整个生命周期: .java (经过javac.exe编译成class文件)=> .cla
阅读全文
摘要:Java反射 概念 Java反射指在程序执行时: 对于类 能够获得类的所有属性和方法 对于对象 能够通过对象调用它的任意一个方法和属性(包括私有的方法和属性) 这种动态获取并调用类的方法的机制称为Java反射 获取一个类 通过类名 包括查看类的静态变量以及通过完整类名获取 public cl
阅读全文
摘要:web-log 文件下载 访问地址后直接下载了log文件,BurpSuite抓包,在http响应报文字段中可以查看 这个log文件的命名是以日期,尝试查看当天的日志,发现了Java的SpringBoot服务 所以可以下载jar包 日志中的logname是要传的参数,可以实现web目录下的文件下载 代
阅读全文
摘要:基础知识 1. Apache Commons Beanutils Apache Commons BeanUtils 是 Apache Commons 项目的一部分,它是一个用于简化 Java 对象的操作和属性访问的工具库。具体来说,它提供了一组用于操作 JavaBean 对象的工具和方法,使开发人员
阅读全文
摘要:Commons Collections 7 基础知识 1.HashTable 散列表,也称为哈希表,以key-value形式进行访问的数据结构 HashTable具有线程安全:多个线程同时访问它时,不会导致数据不一致。 相对于HashMap、ConcurrentHashMap等线程安全性散列表,Ha
阅读全文
摘要:环境搭建 需要依赖项如下: 调试分析 这条链子是基于CC2的,在CC2基础上替换了将InvokerTransformer替换成InstantiateTransformer,从而使用 Gadget Chain /* Gadget chain: ObjectInputStream.readObject(
阅读全文
摘要:基础知识 1. Java 反射 1.1 getConstructor getConstructor 是Java反射API中的一个方法,用于获取类的公共构造方法的引用。构造方法是一种特殊的方法,用于创建类的实例(对象),并且通常在对象创建时进行初始化。 getConstructor的函数原型: pub
阅读全文
摘要:基础知识 1. BadAttributeValueExpException 相关源码 可以看到这个异常类的支持序列化和反序列化,同时在反序列化readObject函数中会涉及到toString函数 public class BadAttributeValueExpException extends
阅读全文
摘要:JDK8u71大版本中AnnotationInvocationHandler.readObject被修改了,为了使得CC1能够利用,又造了一条CC6 CC6解决的是CC1在高版本 jdk 上无法利用的问题 这里搬一下web佬Boogipop的整理图: 是为了解决面向对象 对象自动持久化或者数据库数据读取的一项技术 ,`P
阅读全文
摘要:## MVC架构 MVC架构的全称为 > M:model 模型 用于存储数据 > > V:view 视图 用于展示数据 > > C:controller 控制器 用于协调上述二者 我们一般发送HTTP请求都是由Controller进行拦截,然后Controller中有相应的处理逻辑。 向Model获
阅读全文
摘要:## 什么是热部署 考虑到开发过程中,如果因为某个地方修改代码而要重新运行项目,则非常麻烦。。。 所以有了热部署,允许在边运行的时候,边修改项目代码然后边编译再运行 ## 配置热部署 - 导入依赖 ```java org.springframework.boot spring-boot-devtoo
阅读全文
摘要:## 前言 此系列将记录SpringBoot的学习 ## 记录 ### 环境 - IDE:IDEA2023 - Java ### 如何构建项目 在新建项目中选择`Spring Initializer` :URLDNS的反序列化调试分析 URLDNS链子是Java反序列化分析的第0课,网上也有很多优质的分析文章。 笔者作为Java安全初学者,也从0到1调试了一遍,现在给出调试笔记。 ## 一. Java反序列化前置知识 > Java原生链序列化:利用Java.io.Obje
阅读全文

浙公网安备 33010602011771号