技术研究:Java 反编译之 Switch 语句还原(四)
**前文指路:**YAK,公众号:Yak ProjectJava 反编译技术(三):循环结构
Java 反序列化、字节码、协议分析与利用
查看所有标签**前文指路:**YAK,公众号:Yak ProjectJava 反编译技术(三):循环结构
今天我们将通过一个实际案例,展示如何通过 IRify 辅助定位并最终验证某 admin 中的一个组合漏洞。
某 Admin 是一款基于 webman + Layui 开发的高性能 HTTP 服务框架,提供了简单易用的权限后台管理系统。它具有以下特点:
**前文指路:**YAK,公众号:Yak ProjectJava 反编译技术(二):If 语句解析
YAK 的 SSA 构建系统旨在打造通用的 SSA 后端框架,先前采用 Antlr4 作为通用前端,将多种语言统一转换为 AST,再译为 SSA IR,以驱动静态审计逻辑。但随着拓展,测试 JavaScript 生成 SSA IR 时,Antlr4 在解析某些语言的特定语法结构时存在效率低下的问题。
为提升 JavaScript 静态分析效率,引入微软 TypeScript-Go 项目中的 Go 实现 parser 替代 Antlr 前端,显著优化性能。本文聚焦于基于 TypeScript-Go AST 构建 JavaScript SSA 表达形式,探讨面对表达式语句、解构赋值、控制流等复杂结构时的通用 SSA 生成策略,并分享过程中踩的坑与实战经验,为多语言静态审计中应用 SSA IR 提供启发与参考。
**前文指路:**Yak,公众号:Yak ProjectJava 反编译技术(一)
SyntaxFlow作为Yaklang的重要功能,可以适配多种应用场景,广受用户青睐
Yak yso基本实现了ysoerial的大多数功能,相较于原版,更新后的Yak yso不需要java环境,它通过ui操作进行输入,并且拥有多种可供选择的输出格式。
不足的是之前的Yak yso只支持 templateImpl 链,近期更新主要是为了让Yak yso能够支持transform链。
在支持transform链后,笔者还写了一个小工具来测试链子的有效性。
但还存在链子太大,打shiro的时候header头过大导致失败的问题,文章最后会提供解决方案。
一直以来,yso 作为 JAVA 安全领域比较出名的工具,受到广大的好评价,Yak 内也集成了 yso 部分,下面进行针对性介绍。
前言