Skip to content

[Feature] Web 界面提供一些字节码相关小工具 #79

@ReaJason

Description

@ReaJason

为了更好地优化工作流程以及给其他项目提供一些帮助,考虑在加一些字节码相关的小工具,方便改写字节码以生成不同的利用 payload。如果大家有其他想要的小工具方法也可以在 issue 下面交流。

Important

由于 Web 界面目前没有做授权,为确保平台不被反制,所以不能提供有 RCE 风险的接口,比如反编译(不熟,怕有潜在漏洞)。
部分功能能使用 js 实现的,优先写在前端使用 js 实现。

  • 自定义类继承(作者作者,你的工具很强,如果能支持AbstractTranslet封装就更强了 #57),或包名修改(javax.servlet -> jakarta.servlet)
  • Base64/GzipBase64 下载为 class 文件(每次在 IDEA 里面找个 TestClass 写 Files.write 有点腻了)
  • 添加 _main 方法实现,调用自身构造函数,方便构造 com.sun.org.apache.bcel.internal.util.JavaWrapper._main 利用
  • 类名随机与字节码缩小,(部分工具生成的字节码类名修改了,但是没有抹掉自身的信息,会被溯源到,例如:c0olw/NacosRce/HessianPayload.java
  • static 静态代码块添加绕过 Java 模块限制代码
  • static 静态代码块添加当前类构造方法调用或 toString 调用,方便构造 Class.forName("className", true, classLoader) 利用

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions