7.9k 20 分钟

# 前言 也是跟着 p 牛的文章跟了一遍 CommonsCollection1 这条链子,在 CC1 中有着诸多限制,版本也是很低,当下 JDK20 在今年的 3 月份 21 正式发布,预计在本年 9 月将发布 JDK21,版本迭代的速度非常之快,原始的 cc 链只能在 jdk8u6 * 之前能够利用显然是不够的,也是需要想办法在更高版本能够利用 cc 链来进行恶意攻击 # CommonsCollection-6 文章中所涉及的代码都在 github 项目 https://github.com/clown-q/Clown_java 中,萌新浅记,大佬轻喷 # dump...
16k 39 分钟

# 前言 前面跟着 p 牛知识星球的文章学习 java 反序列的基础知识,RMI 和 URLDNS 链,现在大概算是勉强看到门?接下来准备开始学习 CommonsCollections 这个系列的利用链,以本篇记录 # Commons Collections 这个 java 库是为了额外提供一些集合类和工具,这些类和工具不是标准的 java 集合框架的一部分,但是它可以更加方便的扩展集合的功能,它的出现主要是因为 java 集合框架的一些不足,使得开发人员更加高效的处理集合数据,它能够创建 “转换后的集合” 这些集合在每个元素被添加到集合中的时自动对其应用指定的转换。 了解一下 Commons...
8.6k 22 分钟

# 前言 本篇记录 java 反射的基础知识,参考 p 牛的 java 安全漫谈系列 # 反序列化方法的对比 java 对于反序列化提供了一个更加灵活的方法 writeObject,允许开发者在序列化流中添加数据,在反序列化中使用了一个类似__wekeup 的方法 readObject,但是 readObject 倾向于解决反序列化时如何 还原 一个对象但是 wakeup 更倾向于对对象的初始化,下面通过 demo 来展示 php 和 java 反序列化的过程 # php 反序列化 php...
19k 46 分钟

# 前言 通过 buuctf 平台复现一些之前的赛题 # Crypto # 小学生的密码题 题目描述就这么多,简单的仿射加密 c=Ea,b(m)=am+b (mod 26)m=Da,b(c)=a−1(c−b) (mod 26)根据题目描述,可得 a=11,b=6 import base64from gmpy2 import invertm = 'welcylk'a=11b=6c=''k=26for i in range(len(m)): c...
5.4k 13 分钟

# 前言 RMI (Remote Method Invocation) 远程方法调用,是一种调用远程位置的对象来执行方法的思想,该模型是一种分布式对象应用,使用 RMI 技术可以使一个 JVM 中的对象,调用另一个 JVM 中的对象方法并获取调用结果。这里的另一个 JVM 可以在同一台计算机也可以是远程计算机。因此,RMI 意味着需要一个 Server 端和一个 Client 端。实际上就是在一个 java 虚拟机上调用另一个 java 虚拟机的对象上的方法 RMI传输数据序列化后的数据 。下图是 RMI 的架构,在后面会详细的介绍到 # RMI 流程(代码) 这里是参考 su18...
9.2k 23 分钟

# 前言 大佬几年前的文章还是能让我受益匪浅,这里浅记 java 反射的学习,参考了 P 牛的文章 # java 反射 (forName) 首先看看官方对反射的解释 Reflection enables Java code to discover information about the fields, methods and constructors of loaded classes, and to use reflected fields, methods, and constructors to operate on their underlying counterparts,...
4.9k 12 分钟

# 前言 主动信息收集是指与目标主机进行交互,从而获取所需要的目标信息,常见的主动信息收集包括:敏感目录,端口信息探测,系统版本,CMS 类型,服务器版本等 # ICMP ICMP 是网络控制报文协议,属于网络层,用于在 IP 主机,路由之间传递控制消息,尝尝被称为 “错误侦测与回报机制”,能够检测网路的连线状态,确保连线的准确性。 # Ping 命令的功能 网络状态诊断:向特定的目的主机发送请求报文,测试目的站是否可达以及了解其工作状态 探测主句存活:向特定的目的主机发送请求报文,如果目标主机返回应答数据包,则表达主机存活 识别系统类别:向特定的目的主机发送请求报文,返回的 TTL...
7.8k 19 分钟

# 前言 在渗透测试的过程中,无论你是在进行 web 渗透还是,内网渗透还是域渗透,收集到关于目标系统更加全面的信息是非常重要的,信息收集贯穿整个渗透测试的生命周期中,通常我们将信息收集分为主动信息收集和被动信息收集 被动信息收集 主要是指不与目标主机进行直接交互,通常根据搜索引擎或者社交等方式间接的获取目标服务器的信息。常见的信息收集主要包括:子域名收集,IP 地址查询,域名反查,whois 查询,邮件收集,github 源码泄露等 # 域名查 IP IP 查询是通过当前所获取到的 url 去查询对应 ip 地址的过程 可以应用 Socket 库函数中的 gethostbyname ()...
6.5k 16 分钟

# 前言 CTFshow 做到这一块了,先简单的记录一下对 pop 链的构建,然后借助题来练习一下 文章参考 Yii2.0 路由(Route)的实现原理 - 教程 - Yii Framework 中文网 (yiichina.com) (66 条消息) yii 反序列化漏洞复现及利用_yii 漏洞_拓海 AE 的博客 - CSDN 博客 # yii 框架 yii 是一个适用于 web2.0 的应用开发 php 框架 yii 是一个通用的 web 编程框架,即可以开发各种用 PHP 构建的 web 应用。因为基于组件的框架结构,比较适合大型应用开发,现在主要使用的是 2.0...
5.1k 13 分钟

# python 的序列化和反序列化 ​ 程序运行的过程中,所有对象都是在内存中操作的,当程序一旦执行完毕,对象占有的内存会被收回,如果我们想重复调用这些对象就需要将这些对象持久化储存到内存中,下次运行的时候直接读取相关数据,我们将对象从内存中变成可以持久化储存的数据的过程称为序列化 # 可序列化的对象 整数、浮点数、复数 str、byte、bytearray 只包含可封存对象的集合,包括 tuple、list、set 和 dict 定义在模块最外层的函数(使用 def 定义,lambda 函数则不可以) 定义在模块最外层的内置函数 定义在模块最外层的类 None、True 和...