news 2026/8/15 11:03:05

IDEA断点调试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
IDEA断点调试

第一轮断点调试,先将main函数里面的进行分析,打上断点;

main函数

将主要的函数打上断点

先粗糙的看一下main函数里面的内容,明白每一句函数对链路有什么影响;

在33行的payload没运行时只有之前传入的cmd和key参数

可以看到这行在运行后出现了payload的值,过程相对复杂,后续在第二轮的断电分析里面来详细分析这里面的内容;

但现在要明白payload本质上是一个hashmap:里面只有一对键值对key=tiedmapentry;value=value。

其中的tiedmapentry是攻击的本质,value是占位子的;

接着往后运行

byte[] serialized = serialize(payload)

这一步本质来讲就是把对象之间的网络转化成二进制的字节流,也就让我能看到-84 -19 0 5开头的有java对象字节流特点的byte。

后调试c断点;

后进行AES加密,接着转化成base64编码的文本存入rememberme里面

调试断点D;

这个也就实现了AES解迷,后base64解码,恢复成了字节流,和上文的serlialized里面的值是一样的。

调试断点E也就实现了运行这个字节流,实现了触发calc.exe;

以上是第一轮断点调试,实现了模拟本地构造+服务器响应的全过程

第二轮断点来详细解释一下payload的函数逻辑。

先进行第一个函数;

将其中输入恶意类字节码,makeEvilBytecode是一段恶意代码,

其他的内容基本是凑数的

接着往transformer里面传内容,并且生成一个空的innermap

让后用lazymap里面传入innermap和transformer的内容

后生成一个tiedmapentry的内容,里面放了lazymap和templates的内容;同时66行生成一个空的expmap

后面的67行实现了添加一个键值对进入expmap

后面的lazymap.clear只去掉一个:innerMap 里的那条缓存tiedMapEntryexpMap都不受影响。

后面就把之前的getclass改成了newtransformer

这样在运行时就实现了服务端反序列化时lazyMap.get(templates)一落空,就会触发transform(templates),而那时方法名已经是newTransformer

先通过了L/M/N断点,然后到了ois.readobject的断点可以看得到里面的decrypted是base64的开头

后续运行到hashcode里面,第二次的thisthis.map来自readObject()按字节流重建——是一批新对象,内存地址完全不同,但字段内容(map 指向 LazyMap、key 指向 TemplatesImpl)和序列化前保存的一致。

现在进入了

if (!this.map.containsKey(key)) {

也是getvalue的里面的内容;后就进入这个后面的调用

算出map.containsKey(templates) = false(因为缓存被清空过);

走进factory.transform(key)→ 函数切换到InvokerTransformer.transform(Object input)(断点 N),input = TemplatesImpl

return之后就直接运行exe了

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/15 10:58:52

如何在现代电脑上复活你的童年NES游戏?

如何在现代电脑上复活你的童年NES游戏? 【免费下载链接】Mesen Mesen is a cross-platform (Windows & Linux) NES/Famicom emulator built in C and C# 项目地址: https://gitcode.com/gh_mirrors/me/Mesen 如果说童年有什么"债"要还&#xf…

作者头像 李华
网站建设 2026/8/15 10:55:31

从Clawdbot看开源数据抓取工具:评估、选型与工程实践指南

1. 从“Clawdbot”现象看开源项目的传播与生存最近,一个名为“Clawdbot”的项目在开发者社区里突然火了起来。如果你还没听说过,简单来说,它是一个专注于数据抓取与处理的自动化工具集,因其设计理念和在某些特定场景下的高效表现&…

作者头像 李华
网站建设 2026/8/15 10:54:35

知网AIGC检测机制解析与学术写作应对策略

1. 开题报告AI检测的现状与挑战 2026年的学术环境对AI生成内容的检测能力已经达到前所未有的高度。知网最新推出的AIGC检测系统采用了多模态分析技术,不仅能识别文本特征,还能通过写作风格、引用模式、逻辑连贯性等128个维度进行综合判断。这套系统在测试…

作者头像 李华
网站建设 2026/8/15 10:49:52

VS Code连接Linux远端服务器的方法

目录 一、安装 VS Code 二、按照插件 三、怎么连接远端? 1. 添加用户 2. 进行远端链接 四、怎么使用? 为了在Linux下方便些代码,我们可以使用VS Code 编辑器来链接我们的服务器,通过VS Code 来写代码。方法如下&#xff1a…

作者头像 李华