Skip to content

[请求适配] 支持回显载荷生成 #71

Open
@ReaJason

Description

@ReaJason

适配范围

回显 payload 可用于中间件探测以及对接内存马注入器查看注入是否成功

一、回显用途

  1. 探测中间件类型
  2. 获取 JDK/JRE 版本
  3. 探测系统类型,Windows or Linux
  4. 执行任意命令
  5. 查看自定义恶意类是否执行成功(查看报错信息)
  6. ......

二、回显方式

  1. Response 回显(直接在 response body 或 response header 中回显需要展示的内容,比较好理解)
  2. DNSLog 回显(通过 InetAddress.getByName(host) 子域名的解析获取信息,例如假设检测到是 Tomcat 中间件就解析 tomcat.random.dnslog.cn,Jetty 中间件就触发 jetty.random.dnslog.cn 的域名解析,根据不同的 dns 解析信息我们就能知道中间件的类型了)
  3. HTTPLog 回显(通过 HttpURLConnection 往我们自定义的 HTTP 服务发送信息)
  4. Sleep 延时(例如检测到是 Windows 系统我们就 Sleep 10s,如果不是就不 sleep,或者不同的操作系统 sleep 不同的时间,这种情况我们可以通过接口的延迟来判断信息,还有例如检测到是 Tomcat Sleep 10s,其他的不 Sleep 以此来判断是不是 Tomcat)
  5. ......

三、指令传递方式

  1. 内置在字节码中
  2. 通过 request header 传输
  3. 通过 request param 传输
  4. ......

相关资料

开发步骤

需要分为 echo 以及 detection

detection 负责 [回显用途] 的字节码生成
echo 负责 [回显方式] 和 [指令传递方式] 的字节码生成

UX

  1. 选择回显方式
  2. 选择回显用途
  3. 选择指令传递方式
  4. 选择打包方式(感觉可以考虑专门把打包方式弄成一个新的 page)
  5. 点击生成

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