随笔分类 -  技术分享

摘要:前言 不太会Mongodb的用法,这里学习一下 简单介绍 Mongodb是非关系型数据库(NoSQL),在 MySQL 中,我们所熟知的几个最常见的概念是数据库 (Database)、表 (Table)、字段 (Column)、记录 (Record)、索引 (Index),这些术语映射到 Mongo 阅读全文 »
posted @ 2024-11-06 18:53 F12~ 阅读(255) 评论(2) 推荐(0) 编辑
摘要:前言 以前在一些大型比赛就遇到这种题,一直没时间去研究,现在康复训练下:) 生成器介绍 生成器(Generator)是Python中一种特殊的迭代器,它可以在迭代过程中动态生成值,而不需要一次性将所有值存储在内存中。 Simple Demo 这里定义一个生成器函数, 生成器使用yield语句来产生值 阅读全文 »
posted @ 2024-10-25 15:51 F12~ 阅读(292) 评论(2) 推荐(1) 编辑
摘要:前言 Resin是一个轻量级的、高性能的开源Java应用服务器。它是由Caucho Technology开发的,旨在提供可靠的Web应用程序和服务的运行环境。和Tomcat一样是个服务器,它和hessian在一个group里,所以有一定的联系 <dependencies> <dependency> 阅读全文 »
posted @ 2024-04-24 18:42 F12~ 阅读(287) 评论(0) 推荐(1) 编辑
摘要:前言 之前分析过Fastjson的getter链,忽略了toString链,现在补上,最终也是任意调用getter 攻击测试 package org.example; import com.alibaba.fastjson.JSONObject; import com.sun.org.apache. 阅读全文 »
posted @ 2024-04-23 19:12 F12~ 阅读(120) 评论(0) 推荐(0) 编辑
摘要:基础知识 命名空间和子命名空间 我们可以把namespace理解为一个单独的空间,事实上它也就是一个空间而已,子命名空间那就是空间里再划分几个小空间,举个例子: <?php namespace animal\cat; class cat{ public function __construct() 阅读全文 »
posted @ 2024-04-20 21:19 F12~ 阅读(520) 评论(1) 推荐(1) 编辑
摘要:前言 针对除Mysql的其它数据库的jdbc attack分析 H2 RCE 介绍 H2 是一个用 Java 开发的嵌入式数据库,它本身只是一个类库,即只有一个 jar 文件,可以直接嵌入到应用项目中。H2 主要有如下三个用途: 第一个用途,也是最常使用的用途就在于可以同应用程序打包在一起发布,这样 阅读全文 »
posted @ 2024-04-18 20:48 F12~ 阅读(606) 评论(1) 推荐(0) 编辑
摘要:前言 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。使用它的开源项目有Hibernate、Spring等。之前有接触到过,但是没有深入了解,像之前学二次反序列化时,WrapperConnectionPoolDataSource就是C3P0 阅读全文 »
posted @ 2024-04-15 13:43 F12~ 阅读(418) 评论(0) 推荐(1) 编辑
摘要:前言 Kryo是一个快速序列化/反序列化工具,依赖于字节码生成机制(底层使用了ASM库),因此在序列化速度上有一定的优势,但正因如此,其使用也只能限制在基于JVM的语言上。 Kryo序列化出的结果,是其自定义的,独有的一种格式。由于其序列化出的结果是二进制的,也即byte[],因此像redis这样可 阅读全文 »
posted @ 2024-04-14 20:02 F12~ 阅读(332) 评论(3) 推荐(2) 编辑
摘要:前言 Groovy 是一种基于 JVM 的开发语言,具有类似于 Python,Ruby,Perl 和 Smalltalk 的功能。Groovy 既可以用作 Java 平台的编程语言,也可以用作脚本语言。groovy 编译之后生成 .class 文件,与 Java 编译生成的无异,因此可以在 JVM 阅读全文 »
posted @ 2024-04-13 17:31 F12~ 阅读(392) 评论(0) 推荐(1) 编辑
摘要:环境搭建 先搭建一个SpringMVC项目,参考这篇文章,或者参考我以前的spring内存马分析那篇文章 https://blog.csdn.net/weixin_65287123/article/details/136648903 SpringMVC路由 简单写个servlet package c 阅读全文 »
posted @ 2024-04-12 18:48 F12~ 阅读(778) 评论(1) 推荐(0) 编辑
摘要:RPC协议 RPC全称为Remote Procedure Call Protocol(远程调用协议),RPC和之前学的RMI十分类似,都是远程调用服务,它们不同之处就是RPC是通过标准的二进制格式来定义请求的信息,这样跨平台和系统就更加方便 RPC协议的一次远程通信过程如下: 客户端发起请求,并按照 阅读全文 »
posted @ 2024-04-11 18:24 F12~ 阅读(637) 评论(0) 推荐(0) 编辑
摘要:前言 简单介绍下二次反序列化,顾名思义,就是反序列化两次,其主要意义是绕过黑名单的限制或不出网利用,有些CTF题把一大堆关键类全都ban了,这就让人无从下手,二次反序列化就是为此而生的 SignedObject 原理 看构造函数,接受一个可序列化的对象,再进行一次序列化,简直不要太perfect 关 阅读全文 »
posted @ 2024-04-10 19:23 F12~ 阅读(434) 评论(0) 推荐(0) 编辑
摘要:环境搭建 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <de 阅读全文 »
posted @ 2024-04-09 18:45 F12~ 阅读(201) 评论(0) 推荐(0) 编辑
摘要:什么是Java Agent 我们知道Java是一种强类型语言,在运行之前必须将其编译成.class字节码,然后再交给JVM处理运行。Java Agent就是一种能在不影响正常编译的前提下,修改Java字节码,进而动态地修改已加载或未加载的类、属性和方法的技术。实际上,平时较为常见的技术如热部署、一些 阅读全文 »
posted @ 2024-04-08 20:48 F12~ 阅读(644) 评论(0) 推荐(0) 编辑
摘要:前言 BCEL加载类有一个特点,只可以加载jdk原生的类,其它框架的类,都会报错ClassnotFound的错误。但是,BCEL的ClassLoader在8u252后被删除了 注入流程分析 获取context 一种比较通用的获取context的方式 WebApplicationContext con 阅读全文 »
posted @ 2024-04-08 07:59 F12~ 阅读(533) 评论(0) 推荐(1) 编辑
摘要:环境搭建 踩了很多坑....,不过还好最后还是成功了 IDEA直接新建javaEE项目,然后记得把index.jsp删了,不然DispatcherServlet会失效 导入依赖: <dependencies> <dependency> <groupId>org.springframework</gr 阅读全文 »
posted @ 2024-04-07 18:42 F12~ 阅读(324) 评论(0) 推荐(0) 编辑
摘要:漏洞原理 Spring框架的JtaTransactionManager类中重写了readObject方法,这个方法最终会调用到JNDI中的lookup()方法,关键是里面的参数可控,这就导致了攻击者可以利用JNDI注入中的lookup()参数注入,传入恶意URI地址指向攻击者的RMI注册表服务,以使 阅读全文 »
posted @ 2024-04-07 12:40 F12~ 阅读(236) 评论(0) 推荐(0) 编辑
摘要:回顾JSP马 详情见:https://www.cnblogs.com/F12-blog/p/18111253 之前说的都是利用 jsp 注入内存马,但 Web 服务器中的 jsp 编译器还是会编译生成对应的 java 文件然后进行编译加载并进行实例化,所以还是会落地。 但如果直接注入,比如利用反序列 阅读全文 »
posted @ 2024-04-06 16:25 F12~ 阅读(331) 评论(1) 推荐(1) 编辑
摘要:前言 自己简单搭建一个Tomcat项目,IDEA里选择JavaEE,勾上web就行了 加个依赖(这样就能找到三个Context了: <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-cor 阅读全文 »
posted @ 2024-04-02 18:19 F12~ 阅读(493) 评论(2) 推荐(0) 编辑
摘要:什么是BCEL BCEL是位于sun包下的一个项目,是属于Apache Common的一个子项目 BCEL-LoadClass分析 demo package org.example; import com.sun.org.apache.bcel.internal.Repository; import 阅读全文 »
posted @ 2024-04-01 17:25 F12~ 阅读(209) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示