記事 · 2 / 4
Sep 26, 2021
Fastjson 1.2.22-1.2.24反序列化漏洞分析
什么是fastjsonFastjson是Alibaba开发的Java语言编写的高性能JSON库,用于将数据在JSON和Java Object之间互相转换,提供两个主要接口JSON.toJSONString和JSON.parseObject/JSON.parse来分别实现序列化和反序列化操作。最早的通告在这里。而fastjson的用法可以先看看下面这个例子。序列化用IDEA创建一个空的 ······
Sep 2, 2021
fat-jar调试踩坑
前言因为祥云杯上有一道Java题目,且当时苦与不会jar包调试。所以花了很长时间。jar包远程调试关于远程调试的参数。当我们配好运行配置的时候这里就已经显示了要加的JVM参数此时到命令行里运行java "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005" -jar web.jar然 ······
Aug 12, 2021
JDK7u21
JDK7u21在前面的CommonsCollections这些利用链中,必须依靠第三方jar包 才能反序列化。JDK7u21的核心是sun.reflect.annotation.AnnotationInvocationHandler我们查看equalsImpl方法发现这里有一个反射调用memberMethod.invoke(),而memberMethod来自于this.type.ge ······
Aug 10, 2021
ciscn国赛决赛 ezj4va复现
前言国赛决赛上有一道ezj4va的题目,当时是0解。最近学习了java,所以来复现一下环境搭建直接拿题目当时给的源码搭建。有好哥哥以及帮我们传了一份源码到GitHubhttps://github.com/liey1/timu/blob/main/ciscn%20ezj4va.zip拿到源码后起一个IDEA,当作题目环境有个Main文件,启动这个文件。题目环境就搭好了。访问http:/ ······
Aug 9, 2021
CommonsBeanutils1利用链分析
CommonsBeanutils1利用链分析反序列化调用链ObjectInputStream.readObject()
PriorityQueue.readObject()
PriorityQueue.heapify()
PriorityQueue.siftDown()
siftDownUsingComp ······
Aug 9, 2021
CommonsCollections2利用链分析
CommonsCollections2利用链分析在在commons-collections中找Gadget的过程其实可以简化为,找一条从Serializeable#readObject到Transformer#transform()的方法的调用链。在CC2中的两个关键类:java.util.PriorityQueueorg.apache.commons.collections4.co ······
Aug 9, 2021
Shiro RememberMe 1.2.4反序列化漏洞分析
Shiro RememberMe 1.2.4反序列化漏洞分析首先我们用P神的环境搭建一个最简单的shiro demoJavaThings/shirodemo at master · phith0n/JavaThings · GitHub如果我们登录,就会产生一个remeberMe的cookie对此,我们的攻击过程如下:1.使用之前学过的CommonsCollection利用链生成反序 ······
Aug 6, 2021
CommonsCollections3
CC3之前我们学习了cc1的链和TemplatesImpl。那我们其实可以把两边综合一下,即可改造出一个可以执行任意字节码的CC链。只需要这样修改即可Transformer[] transformers = new Transformer[]{
new ConstantTransformer(obj),
new InvokerTransformer("newTransf ······
Aug 6, 2021
利用TemplatesImpl加载字节码
利用TemplatesImpl加载字节码首先我们写一个恶意类:public class Calc{
public Calc() throws Exception {
Runtime.getRuntime().exec("calc");
}
public static void main(String[] args){}
} ······
Aug 5, 2021
CommonsCollections6
CommonsCollections6CommonsCollections1这个利用链只能在Java 8u71之前使用。在ysoserial中,CommonsCollections6可以说是commons-collections这个库中相对⽐较通⽤的利⽤链,为了解决⾼版本Java的利⽤问题,我们先来看看这个利⽤链的简化利用版/*
Gadget chain:
java.io.Obj ······
Aug 4, 2021
CommonCollections1分析
前言前面分析了URLDNS这条分序列化链,今天继续跟着P师傅分析一下Common-Collections这条利用链demo代码以下是P师傅的demo代码import org.apache.commons.collections.Transformer;
import org.apache.commons.collections.functors.ChainedTransformer; ······
Aug 3, 2021
RMI简单学习
RMIRMI全称是Remote Method Invocation,远程⽅法调⽤。从这个名字就可以看出,他的⽬标和RPC其实 是类似的,是让某个Java虚拟机上的对象调⽤另⼀个Java虚拟机中对象上的⽅法,只不过RMI是Java独 有的⼀种机制。我们直接从⼀个例⼦开始演示RMI的流程吧。 ⾸先编写⼀个RMI Server:import java.rmi.Naming;
import ······
Aug 3, 2021
Java反射
Java反射反射有关的类方法首先给出一个例子public void execute(String className, String methodName) throws Exception {
Class clazz = Class.forName(className);
clazz.getMethod(methodName).invoke(clazz.newI ······
Aug 3, 2021
[Java反序列化]URLDNS利用链分析
URLDNSURLDNS 就是ysoserial中⼀个利⽤链的名字,但准确来说,这个其实不能称作“利⽤链”。因为其参数不 是⼀个可以“利⽤”的命令,⽽仅为⼀个URL,其能触发的结果也不是命令执⾏,⽽是⼀次DNS请求。虽然这个“利⽤链”实际上是不能“利⽤”的,但因为其如下的优点,⾮常适合我们在检测反序列化漏洞时使⽤:使用Java内置的类构造,对第三方库没有依赖在目标没有回显的时候,能够 ······
Jun 5, 2021
CISCN Web 复现
uploadindex.php<?php
if (!isset($_GET["ctf"])) {
highlight_file(__FILE__);
die();
}
if(isset($_GET["ctf"]))
$ctf = $_GET["ctf"];
if($ctf=="up ······
Jun 3, 2021
DozerCTF域渗透
flag1打完XCTF final,发现dozer也在办比赛,其中有一道渗透题目,感觉值得细致研究一下。进去一看是lightcms由此想到了前几天红帽杯郭院士出的题目。先dozer/dozer123登录后台。在GitHub上可以搜索到任意文件读取的漏洞。有任意文件读取,于是我们读一下原漏洞文件发现它多了一个testInclude public function testIncl ······
May 24, 2021
津门杯 Web
UploadHub题目给出源码供我们分析。其中重要的是apache2.conf文件<Directory ~ "/var/www/html/upload/[a-f0-9]{32}/">
php_flag engine off
</Directory>发现了在配置层禁止了upload沙盒解析php。在后面发现了允许.htacce ······
May 4, 2021
[虎符CTF 2021]Internal System
访问source可以得到源码const express = require('express')
const router = express.Router()
const axios = require('axios')
const isIp = require('is-ip')
const IP = require('ip')
const UrlParse = requir ······
May 3, 2021
[蓝帽杯 2021]One Pointer PHP
[蓝帽杯 2021]One Pointer PHP考点:PHP 数组溢出攻击 php-fpm 绕过 disable_functionsSUID 提权进入题目给了源码user.php<?php
class User{
public $count;
}
?>add_api.php<?php
include "user.php";
if($us ······
Apr 30, 2021
利用nps+Proxifier来实现内网流量代理
前言当我们拿到一台外网机的权限,如何方便的渗透内网机器呢?这时就需要把这台外网机当作跳板机,利用nps搭建代理,用socks5协议把内网的流量代理出来当然,这种方法也可以用来自建VPN,也就是用国外的服务器来代理。nps的配置首先贴一下文档https://ehang-io.github.io/nps/#/install按照文档来就行,不过这里还是记录一下步骤。首先在GitHub的re ······