心胜于物

心胜于物

= 下次太阳的光辉一定会照到我的 =

Java反序列化(4)-CC1

# 简介 Apache Commons Collections 是对 java.util.Collection 的扩展。它增强了Java集合框架。 它提供了几个功能来简化收集处理。 它提供了许多新的接口,实现和实用程序。 当我们学习了URL DNS链后,我们就大致直到反序列化漏洞是怎么威胁服务器的。我们就可以着手分析CC链来增加我们对反序列化漏洞的认识了。 这里我还是跟着b站:白日梦组长大佬学习的,环境的搭建可以去b站搜他的视频。 然后呢CC1其实有两条利用链,其实大差不差。一条利用了TransformerMap,一条利用了LazyMap。 # Transfo
more...

Java反序列化(3)-URLDNS链

# # 简介 这是一个最简单的链,原生JDK就存在。也就是说,不需要服务器存在任何特定的第三方组件。如果目标存在反序列化漏洞,那么我们就能够通过这个链来实现dnslog功能,从而验证漏洞的存在。 前面我们学习了反序列化的知识,我们也知道了,只需要服务器反序列化了我们传入的对象,我们就有机会进行反序列化漏洞的利用。接着我们来看看这条链的整个过程把。 PS:看了反序列化的基础但还是不太懂的,建议就先分析这条链。 # 分析 ## java.net.URL分析 我的分析不是从入口类开始分析,而是先找到存在漏洞的一个类
more...

Java反序列化(2)-反序列化基础

# 简介 PS:跟着大佬学习的,大佬讲得是针不错。https://www.bilibili.com/video/BV16h411z7o9?p=1 Java 序列化是指把 Java 对象转换为字节序列的过程便于保存在内存或文件中,实现跨平台通讯和持久化存储。ObjectOutputStream类的 writeObject() 方法可以实现序列化。反序列化则指把字节序列恢复为 Java 对象的过程,相应的,ObjectInputStream 类的 readObject() 方法用于反序列化。 **使用场景** - 当你想把的内存中的对象状态保存到一个文件中或者数据库中时候。 - 当你
more...

Java反序列化(1)-反射基础

# 什么是反射和反射机制 反射其实就是把java类中的各个成分映射成一个个java对象。 即在运行状态中: 1.对于任意一个类,能够知道这个类的所有属性和方法。 2.对于任意一个对象,都能够调用它的任意一个属性和方法。 这种动态获取信息及动态调用对象的方法的功能就叫反射机制。 PS:java中存在一个全局类,名字叫Class的类(常说的class是一个修饰类的关键字,这里说的Class是一个类名,不是关键字),这个Class类包含了所有的实例对象,通过操作这个Class类,我们就能够操控任意类。 # 为什么Java会有反射? 每一个事物的产生都有它的应用
more...

域委派的原理与利用

# 域委派 ## 是什么? 域委派是指将域内用户的权限委派给服务账户,使得服务账号能够以用户的权限在域内展开活动。**简单的说就是如果一个服务账号上设置了委派属性,那么这个服务就能够以用户权限在域内进行其他操作。翻译过来就是服务能够被(某个用户)委派来进行其他操作。** 当然,委派的前提是被委派的用户未设置成不能被委派 ![image-20220617164047395](https://ruyue-1258558004.cos.ap-guangzhou.myqcloud.com/note/image-20220617164047395.png)
more...

SPN服务主体名称

PS:这篇文章是学习域委派的一个小小的前置知识。 # SPN是什么? SPN(ServicePrincipal Names)服务主体名称,是服务实例(比如:HTTP、SMB、MySQL等服务)的唯一标识符。 **Kerberos认证过程使用SPN将服务实例与服务登录账户相关联,如果想使用 Kerberos 协议来认证服务,那么必须正确配置SPN。**(回忆kerberos协议,用户拿着ST去访问服务是什么?其实不是目标机器,而是SPN) 如果在整个林或域中的计算机上安装多个服务实例,则每个实例都必须具有自己的 SPN。如果客户端可能使用多个名称进行身份验证,则给定服务实例可以具
more...

Docker环境探测识别

# Docker环境探测识别 若我们连当前环境是否为docker都不知道,自然也不会想到逃逸这一步了,因此我们需要知道当前环境是否为容器。 ## 文件系统 ### 检查cgroup文件 原理:进程1为systemd,是系统进程,而cgroup为control group,是linux的组件,cgroup往往用于docker容器的资源管理 其中的数字就是容器的id。也是hostname ``` cat /proc/1/cgroup ``` ![464e40e5-26a0-48b2-8df5-b8d2861b4f59-image.png](https:
more...

kerberos认证

## 小bb 这个是去年12月份写的东西,当时因为感觉这整个过程比较复杂,于是自己就在笔记上手写了。但感觉写在笔记不上字太丑,自己都不想看,于是最近花了点时间画了个流程图。帮组自己理解。 ## 简介 kerberos是一种基于可信第三方主机的计算机网络协议,它允许两个实体之间在非安全网络环境下以一种安全的方式证明自己的身份。 说白了就是一种身份认证协议。 而我们一个域用户在获取票据并访问服务的过程中共涉及三个部分的内容: 1. AS(身份认证服务):主要是通过这个来证明你有正确的密钥,即你就是你。 ​ 通过身份认证这一步就成功的向服务器证明了你就是你
more...

本地组策略与域组策略

## 小bb 去年10月份左右写的文章,之前给了朋友发公众号,一直忘记同步到博客- -,今天闲暇之余,顺便给贴回来。不过好久没搞windwos的学习和研究了。可恶。 ## 什么是组策略? 组策略(Group Policy)是Microsoft Windows系统管理员为用户和计算机定义并控制程序、网络资源及操作系统行为的主要工具。通过使用组策略可以设置各种软件、计算机和用户策略。 使用组策略可以给同工作组的计算机或用户强加一套统一的标准,如用户的桌面环境,计算机启动,关机注销等所执行的脚本文件、软件分发、安全设置等。 组策略在部分意义上是控制用
more...

非对称密码-使用私钥破解https流量

# 重温HTTPS 在开始之前,我们需要再次捋清整个HTTPS握手的流程,思考下面几个问题,你是否完全懂整个流程? ``` A:HTTPS中共用到了两种加密,这两种加密的作用和关系是什么? Q:非对称加密只是为了加密对称加密的密钥(还起了身份认证功能),而对称加密用于加密真正的http数据。 ``` ``` A:非对称加密和对称加密的密钥分别是由谁形成的? Q:首先,对称加密的密钥是由客户端来随机生成的。而非对称加密的密钥则需要考虑密钥协商算法了,在DHE/ECDHE等算法中,非对称加密的公私钥是临时生成的,私钥保存在服务端上,公钥则由服
more...