- 博客(11)
- 收藏
- 关注
原创 fastjson反序列化
Fastjson反序列化漏洞分析 本文分析了Fastjson的反序列化机制及其安全风险。Fastjson作为Java JSON处理库,在1.2.24及以下版本存在高危漏洞,可直接导致RCE。文章通过代码示例展示了Fastjson反序列化的调用过程,重点解析了JavaBeanInfo.build()方法如何通过三层遍历获取类属性信息。分析发现当asmEnable=false时,会使用非ASM方式处理反序列化,这为漏洞利用提供了可能。不同版本的风险等级显示,1.2.83+和2.0.x版本通过架构改进实现了更好的
2026-04-24 02:58:05
478
原创 HOT100 两周速成
本文总结了LeetCode HOT100题目的高效刷题策略和核心解题思路。主要内容包括: 刷题计划:两周速成方案,第一周每天10题,第二周每天5题,按模块顺序练习 解题技巧:推荐可视化讲解视频,建议先理解算法再动手实现,注重边界条件处理 高频题型解析: 哈希:两数之和、字母异位词分组、最长连续序列 双指针:移动零、盛水容器、三数之和 滑动窗口:无重复子串、字母异位词 链表:反转、环检测、合并排序 二叉树:遍历、翻转、路径和 回溯:全排列、子集、组合 算法要点:强调递归+回溯、双指针、哈希优化等核心技巧,提供
2026-04-18 23:14:13
458
原创 内存马七:agent
Java Agent 是一种利用 Java Instrumentation API 实现字节码动态修改的技术,分为静态加载(premain)和动态加载(agentmain)两种方式。静态加载通过-javaagent参数在程序启动时注入,常用于APM监控和安全审计;动态加载通过VirtualMachine Attach机制在运行时注入,适用于诊断工具和热补丁场景。核心类包括Instrumentation接口、ClassFileTransformer接口等,提供了类重定义、字节码转换等功能。文章通过一个示例演示
2026-03-16 01:20:52
652
原创 内存马六:valve
本文介绍了Tomcat中的Valve内存马攻击技术。Tomcat请求处理流程中,每个容器都包含Pipeline和Valve链,Valve会在请求流转时依次执行。通过反射获取StandardContext后,可以向其Pipeline动态添加恶意Valve。文章提供了完整的JSP代码示例,该代码创建了一个能执行系统命令的ShellValve,并通过反射机制将其注入到StandardContext的Pipeline中。这种内存马技术具有隐蔽性强、无需文件落地的特点,是常见的Web后门手段。
2026-03-14 23:54:48
356
原创 内存马五:Spring-Interceptor
摘要 本文分析了Interceptor内存马的实现原理,通过调试发现Interceptor信息存储在adaptedInterceptors列表中。通过反射获取Spring的RequestMappingHandlerMapping对象,并修改其adaptedInterceptors字段来注入恶意拦截器。提供的代码示例展示了如何动态添加一个能执行系统命令的Interceptor,该拦截器会检查请求参数"cmd"并执行相应命令。这种内存马技术无需文件落地,直接在内存中实现持久化后门功能。
2026-03-14 23:50:53
182
原创 内存马四:Spring-Controller
本文分析了Spring Controller内存马的实现原理。通过跟踪请求处理流程,发现关键调用路径从RequestMappingHandlerMapping获取处理器,最终在AbstractHandlerMethodMapping的mappingRegistry中存储路由映射。实现方案是通过WebApplicationContext获取RequestMappingHandlerMapping实例,使用registerMapping方法动态注册恶意路由。文章提供了完整代码示例,通过/evil路径触发命令执行
2026-03-13 16:28:19
57
原创 内存马三:Listener
本文介绍了Listener内存马的实现原理和具体代码。通过分析StandardContext#fireRequestInitEvent函数,发现数据来自getApplicationEventListeners(),最终定位到StandardContext#addApplicationEventListener方法。文章提供了一个完整的JSP代码示例,演示如何创建恶意Listener并通过反射获取StandardContext后注入内存马。该内存马会在请求初始化时执行系统命令(如打开计算器)。参考了su18.
2026-03-13 16:16:41
62
原创 内存马二:Filter
本文介绍了Tomcat Filter内存马的实现原理和具体步骤。通过分析源码发现,StandardContext中的filterConfigs和filterMaps是关键数据,通过修改这些数据并调用filterStart方法可实现内存马的注入。具体步骤包括:编写恶意Filter类、获取StandardContext对象、添加FilterDef和FilterMap配置,最后触发filterStart方法。文章提供了完整的JSP实现代码,可直接用于注入恶意Filter,当匹配到指定URL模式时会执行命令启动计算
2026-03-12 00:04:54
266
原创 内存马一:servlet
本文介绍了Servlet内存马的实现过程。首先通过编写简单Servlet示例了解其基本概念和使用方法,然后分析Tomcat加载Servlet的关键代码,重点关注WebXml中的servlets和servletMappings处理流程。核心实现是通过反射获取StandardContext,创建Wrapper对象封装恶意Servlet类,并将其添加到上下文和映射路径中。最终实现了一个可执行系统命令的内存马,当访问特定URL时触发命令执行。整个过程展示了如何在不修改原始文件的情况下,动态注入恶意Servlet到运
2026-03-11 23:57:51
526
原创 oracle项目迁移为mysql用正则表达式替换不兼容函数
一个成熟的项目从oracle迁成mysql,很多需要改变的函数在网上都可以找到需要的前置知识:正则表达式,转义字符在idea中按下ctrl+shift+R(replace)即可打开替换页面。
2024-03-10 23:00:35
395
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅