2025-10-31
8.3k 字
35 分钟
COM组件对象模型
COM 组件对象模型 COM (Component Object Model,即组件对象模型)它是微软提出的一套开发软件的方法与规范。它也代表了一种软件开发思想,那就是面向组件编程的思想
COM 是一个平台无关、分布式、面向对象的系统 , 用于创建可交互的二进制软件组件。COM 是微软 OLE(对象链接与嵌入)(复合文档)和 ActiveX(启用 Internet 的组件)技术的基础技术,COM 旨在促进软件互操作性;也就是说,即使两个或多个应用程序或“组件”是由不同的供应商在不同的时间用不同的编程语言编写的,或者运行在不同的机器和不同的操作系统上,它们也能轻松地相互交互
面向
2025-02-08
4.2k 字
20 分钟
Fastjosn_Jackson_Hessian原生反序列化
发一篇很久之前的内容,最近有接触到了一点
这里的原生反序化指的是不依赖于其他jar包的反序列化链,或者是指狭义的java反序列化readObject方法的调用
Fastjson原生反序列化
条件fastjson 版本 <=2.0.26
(fastjson 1所有版本通杀)
JSONArray与JSONObject 实现了序列化接口
这里的点在于toString 方法
JSONObject 和 JSONArray 的toString 方法都是父类JSON 的toString 方法
在之前学习fastjson BCEL链的时候,就知道要用parse 方法触发,也就是套几层
2025-01-27
4.7k 字
19 分钟
class文件结构
java字节码,class文件,二进制类型文件,类似PE文件,也有一定的文件结构
官方文档:https://docs.oracle.com/javase/specs/jvms/se15/html/jvms-4.html
classs文件整体结构如下:
ClassFile { u4 magic; u2 minor_version; u2 major_version; u2 constant_pool_count; cp_info constant_p
2024-11-09
1.5k 字
6 分钟
初识shellcode加载器(持续更新)
shellcode 这个概念本应来自pwn,shellcode为16进制的机器码,因为经常让攻击者获得shell而得名
Shellcode 是一组通常用汇编语言编写的机器代码指令,旨在由计算机处理器直接执行。因为汇编指令是特定于体系结构的,这限制了 shellcode 在不同处理器之间的可移植性
为什么需要shellcode 加载器
使用cs或者msf生成的exe远控木马,特征极强,当使用shellcode 加载的方式上线,更容易做免杀操作,接下来的是Windows下的shellcode加载器
shellcode 生成暂且现在水平有限,还不会手搓shellcode,使用工具
2024-11-02
5.6k 字
21 分钟
NTLM
NTLM 协议是 Microsoft 环境中使用的身份验证协议。特别是,它允许用户向服务器证明其身份,以便使用该服务器提供的服务。PTH在域渗透中并不陌生,hash 传递攻击 。NTLM Relay ,NTLM认证协议的中间人攻击,这些都设计到NTLM Hash 和Net-NTLM Hash 本文就来具体介绍
There are two possible scenarios:
用户使用服务器本地帐户的凭据,在这种情况下,服务器在其本地数据库中拥有用户的密码,并且能够对用户进行身份验证;
在Active Directory域环境中,用户在身份验证过程中使用域帐户,在这种情况下,服务器将必须要求
2024-10-30
4.8k 字
19 分钟
PE文件结构
pe文件结构只能说算一点点基础,顺带学习PE的时候再熟悉熟悉c语言和Windows API
PE文件即Portable Execute Windows下可执行文件的总称,常见的有 DLL,EXE,OCX,SYS 等,PE文件可以说是在各个领域都有涉及,特别是病毒领域,内网渗透中的免杀对抗
(免杀对抗环境从普通的杀软到edr,xdr等设备)
基础知识PE文件的结构有两种表现形式:一是存储在在硬盘中的文件,二是加载在内存中
如上图可见,当PE文件加载到内存中后,DOS头到最后一个节区头的部分是一致的,而之后节区与节区之间的间隔,内存中的间隔会更大
产生差异是因为内存对齐,主要是下面两点:
操
2024-10-10
3k 字
11 分钟
LLMNR\NBT-NS\MDNS欺骗
LLMNR、NetBIOS、MDNS 本质是对DNS的扩充,应用在内网中的DNS解析(局域网内未得到DNS响应等场景)
LLMNR\NetBIOS\MDNS欺骗是中间人攻击,适合来获取凭证,如Net-NTLM Hash的获取 ,所以单独
开了一篇来学习,不过Responder 已经集成了各种服务场景下的LLMNR\NetBIOS\MDNS 欺骗
LLMNR LLMNR(Link-Local Multicast Name Resolution) 是用于同一本地链路上的,基于DNS协议的一个协议,同一局域网中的主机可通过该协议去解析其他主机名
是一种用于在局域网中解析主机名到IP地址的协议。它通
2024-09-19
4.3k 字
15 分钟
Windows认证机制
Windows认证机制 Windows 的认证机制也是一项基础,通过本文你能大致了解Windows认证机制,其中涉及常见的名词如NTLM哈希,PTH ,Kerberos协议,黄金票据、白银票据等等,希望师傅们看完能基本了解其含义和及其原理
Windows本地认证密码存储路径:%SystemRoot%\system32\config\sam
NTLM HashNTLM Hash 是长度为32位由数字和字母组成的hash,支持Net NTLM 认证协议及本地认证
Windows本身不存储用户的明文密码
当用户登录时候,会与本地SAM中的NTLM hash进行比较
在NTLM Hash 之前还
2024-08-09
831 字
3 分钟
Apache OFBiz目录遍历导致RCE(CVE-2024-38856)
Apache OFBiz目录遍历导致RCE(CVE-2024-38856)环境搭建下载地址: https://ofbiz.apache.org/download.html下载的是17.02版本(下载的是17.02版本(代码有点区别但是能复现漏洞,建议还是18版本)
然后在build.gradle 中设置jvm 调式参数
List jvmArguments = ['-Xms128M', '-Xmx1024M','-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005']
构建项目:
./gradlew clea
2024-07-12
1.4k 字
7 分钟
springcloud dataflow任意文件写入(CVE-2024-22263)
springcloud dataflow任意文件写入(CVE-2024-22263)概述信息参考:https://spring.io/security/cve-2024-22263披露时间: 2024.5.23分析时间:2024.6.18github源码:https://github.com/spring-cloud/spring-cloud-dataflowgithub 修复 commit :Improved validateUploadRequest and applied after tmp directory was cr… · spring-cloud/spring-cloud-da
2024-07-08
4.1k 字
21 分钟
GeoServer表达式注入代码执行漏洞
GeoServer表达式注入代码执行漏洞概述信息参考:https://avd.aliyun.com/detail?id=AVD-2024-36401披露时间: 2024.7.2github源码:https://github.com/geoserver/geoserver分析版本:2.25.0漏洞版本:2.25.0 <= GeoServer < 2.25.22.24.0 <= GeoServer < 2.24.4GeoServer < 2.23.6
阐述:GeoServer由于GeoTool组件使用了含有漏洞的commons-jxpath组件导致表达式注入漏洞相关信
2024-07-08
727 字
3 分钟
Apache Commons JXPath
Apache Commons JXPathApache Commons JXPath是美国阿帕奇(Apache)基金会的一种 XPath 1.0 的基于 Java 的实现。JXPath 为使用 XPath 语法遍历 JavaBeans、DOM 和其他类型的对象的图形提供了 API。
依赖
<dependency> <groupId>commons-jxpath</groupId> <artifactId>commons-jxpath</artifactId> <version>1.3</version>&
1 2 3 4 下一页 »