Open
Description
适配范围
回显 payload 可用于中间件探测以及对接内存马注入器查看注入是否成功
一、回显用途
- 探测中间件类型
- 获取 JDK/JRE 版本
- 探测系统类型,Windows or Linux
- 执行任意命令
- 查看自定义恶意类是否执行成功(查看报错信息)
- ......
二、回显方式
- Response 回显(直接在 response body 或 response header 中回显需要展示的内容,比较好理解)
- DNSLog 回显(通过 InetAddress.getByName(host) 子域名的解析获取信息,例如假设检测到是 Tomcat 中间件就解析 tomcat.random.dnslog.cn,Jetty 中间件就触发 jetty.random.dnslog.cn 的域名解析,根据不同的 dns 解析信息我们就能知道中间件的类型了)
- HTTPLog 回显(通过 HttpURLConnection 往我们自定义的 HTTP 服务发送信息)
- Sleep 延时(例如检测到是 Windows 系统我们就 Sleep 10s,如果不是就不 sleep,或者不同的操作系统 sleep 不同的时间,这种情况我们可以通过接口的延迟来判断信息,还有例如检测到是 Tomcat Sleep 10s,其他的不 Sleep 以此来判断是不是 Tomcat)
- ......
三、指令传递方式
- 内置在字节码中
- 通过 request header 传输
- 通过 request param 传输
- ......
相关资料
开发步骤
需要分为 echo 以及 detection
detection 负责 [回显用途] 的字节码生成
echo 负责 [回显方式] 和 [指令传递方式] 的字节码生成
UX
- 选择回显方式
- 选择回显用途
- 选择指令传递方式
- 选择打包方式(感觉可以考虑专门把打包方式弄成一个新的 page)
- 点击生成