首页 > 编程语言 >Web-Chains:Web 版 Java Payload 生成与利用工具

Web-Chains:Web 版 Java Payload 生成与利用工具

时间:2025-01-23 12:11:40浏览次数:1  
标签:Web Java 字节 生成 序列化 Chains Payload

免责声明

本文所提供的文字和信息仅供学习和研究使用,请读者自觉遵守法律法规,不得利用本公众号所提供的信息从事任何违法活动。本文不对读者的任何违法行为承担任何责任。工具来自网络,安全性自测,如有侵权请联系删除。

工具介绍

Web-Chains 项目,又名 Java-Chains 项目,我们站在巨人肩膀上,致力于打造最强的 Java 安全研究领域的瑞士军刀

Web 版 Java Payload 生成与利用工具,提供 Java 反序列化、Hessian 1/2 反序列化等Payload生成,以及 JNDI、Fake Mysql、JRMPListener 等利用|The web version of Java Payload generation and utilization tool provides Payload generation such as Java deserialization and Hessian 1/2 deserialization, as well as JNDI, Fake Mysql, JRMPListener, etc

Web-Chains 含有六大模块:

1、Generate: 生成模块

自定义类名/定义字节码版本,支持使用 Class-Obf 进行字节码混淆

选择 Commons Beanutils 链的多种 comparator 类型

支持生成 TemplatesImpl 格式

支持生成 SnakeYaml Jar 格式

支持生成 Fastjson Groovy 格式

支持生成 JavaWrapper 格式

支持生成 charsets.jar 格式

支持增强魔改版 JMG/JEG 格式 (java echo generator, java memshell generator)

随机集合混淆

垃圾类插入

去除字节码符号信息

TC_RESET填充,仅适用于Java反序列化

UTF-8 Overlong Encoding混淆

Java反序列化原生 Payload 生成
Hessian1/2反序列化 Payload 生成
Hessian1支持生成 HessianServlet 格式反序列化数据
Shiro数据生成(自定义 KEY 使用 GCM 混淆字符等)
AMF3数据生成(基于原生数据多种进阶组合)
XStream数据生成(基于原生数据多种进阶组合)
BCEL字节码生成(直接执行命令,内存马生成,回显生成,探测字节码,读写文件)
Class字节码生成(直接执行命令,内存马生成,回显生成,探测字节码,读写文件)
多种数据库 JDBC Payload 生成(Derby | H2 | PostgreSql | Sqlite)
SnakeYAML/SpringBeanXML/Velocity/OGNL/MVEL/SPEL/JS/GROOVY
Java反序列化、Hessian反序列化支持以下混淆方式:
一些高级选项:。。。

2、JNDI: JNDI 注入利用模块

JndiBasicPayload: LDAP 远程加载字节码
JndiDeserializationPayload: LDAP 中基于 javaSerializedData 字段实现的反序列化
JndiResourceRefPayload: LDAP 基于 BeanFactory 的 Tomcat EL、Groovy等利用
JndiReferencePayload: LDAP 基于其他 ObjectFactory 的Reference利用,例如各种DataSource JDBC利用
JndiRMIDeserializePayload: LDAP 高版本 JDK 绕过之RMI反序列化
JndiRefBypassPayload: LDAP 高版本 JDK 绕过之ReferenceBypass
JndiShowHandPayload: JNDI梭哈链,一键测试常规利用链,提高测试效率

3、Fake MySQL

FakeMysqlPayload: 经典 MySQL JDBC 反序列化利用姿势
FakeMysqlShowHandPayload: FakeMySQL梭哈链,一键测试常规反序列化链,提高测试效率

4、JRMPListener:可配合 JRMPClient 反序列化链实现RMI低版本的绕过

5、TCP Server: 一个简易的 TCP Server,可以将生成的Payload文件挂载到TCP端口服务上。

适用于 Derby 反序列化 RCE 场景,可直接通过tcp端口获取反序列化数据

6、HTTP Server:一个简易的HTTP服务器,将生成的Payload文件挂载到HTTP端口服务上。

适用于 postgresql 远程加载 SpringBeanXML 文件等场景

工具使用

方式一

docker run -d \
  --name web-chains \
  --restart=always \
  -p 8011:8011 \
  -p 58080:58080 \
  -p 50389:50389 \
  -p 50388:50388 \
  -p 13999:13999 \
  -p 3308:3308 \
  -p 11527:11527 \
  -p 50000:50000 \
  -e CHAINS_AUTH=true \
  -e CHAINS_PASS= \
  javachains/webchains:1.2.4

方式二

使用
java -jar web-chains.jar 即可启动,每次启动后会打印出随机生成的密码
默认监听 0.0.0.0 ,登录页面:
http://your-ip:8011 (使用这里的用户名密码登录)
可通过环境变量设置web登录密码,例如:
Linux:

export CHAINS_PASS=[your_password] && java -jar web-chains.jar

Windows:

set CHAINS_PASS=[your_password] && java -jar web-chains.jar

项目链接

https://github.com/Java-Chains/web-chains

原创 Java-Chains 贝雷帽SEC

标签:Web,Java,字节,生成,序列化,Chains,Payload
From: https://www.cnblogs.com/o-O-oO/p/18686376

相关文章

  • (附源码)基于Java的工艺品展示系统的设计与实现-计算机毕设 37411
    基于Java的工艺品展示系统的设计与实现摘要本论文主要论述了如何使用Java语言开发一个工艺品展示系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述工艺品展示系统的当前背景以及系统开发的目的,后续章......
  • 基于 WEB 开发的医药销售系统设计与实现
    标题:基于WEB开发的医药销售系统设计与实现内容:1.摘要摘要:随着互联网技术的发展,医药销售行业也在逐渐向线上转移。本文旨在设计并实现一个基于WEB的医药销售系统,以提高医药销售的效率和便利性。文章首先介绍了系统的背景和目的,然后详细阐述了系统的设计和实现方法。接着......
  • 基于 WEB 开发的在线求职招聘系统设计与实现
    标题:基于WEB开发的在线求职招聘系统设计与实现内容:1.摘要本文介绍了基于WEB开发的在线求职招聘系统的设计与实现。详细阐述了系统的背景、目的、方法、结果、结论和核心主题。通过对现有求职招聘系统的分析,结合用户需求,提出了系统的设计方案。采用了先进的WEB技术,实......
  • 基于WEB开发的网上问卷调查系统设计与实现
    标题:基于WEB开发的网上问卷调查系统设计与实现内容:1.摘要摘要:本文主要探讨了基于WEB开发的网上问卷调查系统的设计与实现。文章首先介绍了研究背景,即随着互联网的普及,网上问卷调查逐渐成为一种重要的数据收集方式。接着,文章阐述了研究目的,即设计并实现一个功能完善、易......
  • 16 个 JavaScript 简写神技,提效 60%!
    今天看到一片文章觉得很适合在工作中常常用得到1.三元运算符简化条件判断//传统写法letresult;if(someCondition){result='yes';}else{result='no';}//简写方式constresult=someCondition?'yes':'no';2.空值合并运算符//传统写法cons......
  • 【Java开发】magic-api:一个Java接口快速开发框架
    今天给小伙伴们介绍一个Java接口快速开发框架-magic-api简介magic-api是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTPAPI接口开......
  • 最新毕设-Django-新能源汽车推荐系统-30063(免费领项目)可做计算机毕业设计JAVA、PHP、
    摘要本论文主要论述了如何基于Django框架开发一个新能源汽车推荐系统,本系统将严格按照软件开发流程进行各个阶段的工作,爬取懂车帝的汽车信息,面向对象编程思想进行项目开发。在引言中,作者将论述新能源汽车推荐系统的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,......
  • Java 抽象类
    目录概述定义abstract使用格式抽象方法抽象类抽象的使用注意事项概述父类中的方法,被它的子类们重写,子类各自的实现都不尽相同。那么父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有存在的意义了。我们把没有方法主体的方法称为抽象方法。Java语法规定,包含抽象方法......
  • 使用 Java 和 Tesseract 进行验证码识别
    验证码(CAPTCHA)在网站和应用中被广泛用作防止自动化操作的验证机制。如果想要识别验证码,可以借助OCR(光学字符识别)技术实现自动识别。本文将介绍如何使用Java和TesseractOCR引擎来实现验证码的识别。环境准备安装TesseractOCR引擎Tesseract是一个开源的OCR引擎,必须......
  • JavaScript系列(40)--虚拟DOM实现详解
    JavaScript虚拟DOM实现详解......