因为很多东西都是写给我自己看的,免得我自己忘记。所以很多东西会写的尽量详细。免得自己看不懂自己当时写的~~~不喜欢勿喷
代码审计-mcms文件上传
简单记录一次代码审计成果
Java安全-反序列化篇
反序列化是什么
- 序列化(Serialization):
- 序列化是将对象的状态信息转换为可以存储或传输的形式的过程。在 Java 中,这通常意味着将对象转换为字节序列,以便可以将其写入文件、数据库或通过网络发送到另一个系统。
- Java 通过实现 java.io.Serializable 接口来标识一个类是可序列化的。实现 Serializable 接口的类可以被 ObjectOutputStream 类序列化。
- 序列化过程中,对象的类、属性和属性值都会被保存。如果对象图中包含其他对象的引用,这些对象也会被递归地序列化。
- 序列化的结果是一个字节流,通常保存在 ByteArrayOutputStream 或 FileOutputStream 中。
- 反序列化(Deserialization):
Java安全-反射篇
什么是java反射?
Java反射(Reflection)是Java编程语言的一个强大特性,它允许程序在运行时访问和操作类、接口、字段、方法等的元数据。反射API提供了一组类和方法,使得程序能够查询和使用类的信息,以及在运行时动态地创建对象、调用方法、访问字段等。
使用Java反射,你可以实现以下功能:
- 在运行时获取类的信息:可以通过Class类或Class.forName()方法获取类的Class对象,然后查询类的定义信息,如类名、父类、实现的接口、构造函数、字段和方法等。
- 动态创建对象实例:使用Class对象的newInstance()方法可以创建类的实例,即使在编译时不知道具体的类名。
- 动态调用方法:可以通过Method对象的invoke()方法动态地调用对象的方法,无论这些方法是公共的、受保护的、默认的还是私有的。
- 动态访问和修改字段:使用Field对象可以动态地读取或修改对象的字段值,无论字段的访问权限如何。
- 创建代理对象:利用InvocationHandler和Proxy类,可以在运行时创建接口的代理实例,而无需在编译时定义具体的实现类。
C++变形免杀初探(三)
最近一段时间都在忙着红队项目和攻防类项目,一直没时间去把笔记脱敏转成博客。以后随缘更新吧,有些东西太容易被溯源了….
C++变形免杀初探(二)
这个马子倒是提前就研究好了,但是因为前段时间项目要用到,所以得等项目结束后再发出来,免得杀软检测了。免杀效果还行,不做沙箱对抗的话,常见的麦咖啡、卡巴斯基、小红伞、赛门铁克、defender、天擎都能过。
向日葵密码抓取(综合)
向日葵新版密码抓取,必须dump内存,十六进制查找,新版不存在配置文件中,后续会将其他工具的最新手法也同步到博客中来,嗯等我有空的话。。
WINDOWS错误报告服务权限提升漏洞-CVE-2023-36874(复现)
太久没写博客了,最近这段时间项目太多了有点忙,简单把最近跟进的cve复现一下,因为这个是提权漏洞,提权后需要运行自己的exp文件,因为考虑到可能会被查杀,所以文件就不放出来了。