首页 > 编程语言 >ExpDemo-JavaFX打造属于你自己的图形化漏洞利用工具

ExpDemo-JavaFX打造属于你自己的图形化漏洞利用工具

时间:2024-12-28 12:55:17浏览次数:3  
标签:java 漏洞 S2 JavaFX fxml 编写 界面 ExpDemo 图形化

声明!本文章所有的工具分享仅仅只是供大家学习交流为主,切勿用于非法用途,如有任何触犯法律的行为,均与本人及团队无关!!!

目录标题

前言

这是一个构建图形化漏洞利用的一个项目,已经写好架子,只需要往里填充exp即可,帮助安全人员快速构建一个图形化的、跨平台的漏洞利用工具。

虽然有很多优秀的命令行利用工具,但我觉得还是带界面的方便、直观。

使用本项目,你不需要懂太多Java语言,只需要了解基本的语法,参考自带的EXP例子,即可快速开发一款属于你自己的漏洞利用工具,建立自己的漏洞利用库。

编写属于你的图像化漏洞利用工具

项目结构

.
├── ExpDemo-JavaFX.iml
├── logs          运行日志文件
│   ├── debug.log
│   └── error.log
├── pom.xml
└── src
    └── main
        ├── java
        │   └── fun
        │       └── fireline
        │           ├── AppStartUp.java    应用程序启动入口
        │           ├── controller    控制JavaFX图形化界面的各种显示、事件等,核心代码 
        │           │   ├── MainController.java  主界面的controller,负责切换界面和基本信息显示
        │           │   ├── OAController.java   OA漏洞利用切换界面的相关逻辑
        │           │   ├── OthersController.java  其他漏洞界面的相关逻辑
        │           │   ├── Struts2Controller.java  Struts2漏洞利用界面的相关逻辑
        │           │   └── oa      OA漏洞利用的相关逻辑
        │           │       └── OASeeyonController.java
        │           ├── core     核心代码文件夹
        │           │   ├── Constants.java   一些常量基本信息
        │           │   ├── ExploitInterface.java   exp 编写要实现的接口
        │           │   ├── Job.java    一种漏洞全部检查的类
        │           │   └── VulInfo.java
        │           ├── exp			各种 exp 实现类
        │           │   ├── apache
        │           │   │   └── struts2
        │           │   │       ├── S2_005.java
        │           │   │       ├── S2_009.java
        │           │   │       ├── S2_016.java
        │           │   │       ├── S2_019.java
        │           │   │       ├── S2_032.java
        │           │   │       ├── S2_045.java
        │           │   │       ├── S2_046.java
        │           │   │       └── S2_DevMode.java
        │           │   ├── cms
        │           │   │   └── nc
        │           │   │       └── CNVD_2021_30167.java
        │           │   ├── oracle
        │           │   │   └── CVE_2020_14882.java
        │           │   └── others
        │           │       └── CVE_2021_22986.java
        │           └── tools  工具文件夹
        │               ├── HttpTool.java  HTTP 请求封装
        │               ├── MyCERT.java    HTTPS 请求证书设置
        │               └── Tools.java     一些处理函数
        └── resources    资源文件夹
            ├── css      界面css样式表
            │   └── main.css
            ├── fxml    界面的设计文件
            │   ├── Main.fxml
            │   ├── OA.fxml
            │   ├── Others.fxml
            │   ├── Struts2.fxml
            │   ├── Weblogic.fxml
            │   └── oa
            │       ├── OA-E-office.fxml
            │       ├── OA-Kingdee.fxml
            │       ├── OA-Landray.fxml
            │       └── OA-Seeyon.fxml
            ├── img
            │   ├── sec.png
            │   └── weixin.jpg
            └── log4j.properties   日志相关设置

编写EXP

编写EXP时,要使用 implements实现ExploitInterface接口,实现接口中的几个方法

ExpDemo-JavaFX工具新增漏洞编写教程

-   checkVUL		     使用poc 检查是否漏洞
-   exeCMD            使用exp执行命令
-   uploadFile        使用命令执行 写webshell,上传文件
-   getWebPath        获取网站的web目录,供上传文件使用
-   isVul              是否存在漏洞,检查时会根据结构自动赋值,供后续调用

EXP具体编写请参考 fun/fireline/exp 下的各种漏洞实现

当编写完EXP后,转到 fun/fireline/controller 下对应的xxController.java文件,比如新编写了Struts2的相关漏洞,修改Struts2Controller.javaSTRUTS2变量,新加入一个漏洞名称,这里对应的是图像化界面中可供选择的漏洞列表

之后进入和 fun/fireline/tools/Tools.javagetExploit方法中新增一个else if

编写完后,可以直接执行fun/fireline/AppStartUp.java类, 查看是否正常运行。

开发过程中每次修改完运行前,最好将生成的target目录删除再运行

部署

当一切编写完成,bug修复完毕,在项目根目录下执行 mvn package assembly:single 即可生成 jar 文件。

运行使用target目录下最大的jar文件

如果没有java环境,使用 mvn jfx:native 命令生产对应平台的文件,比如Mac下,执行命令mvn jfx:native命令就会在 target/jfx/native 目录下生成打包后应用(win下生成exe),带可执行文件,带 JRE 运行环境,超大,200+M。

mvn clean用于清除生成的文件。

部署启动

双击ExpDemo-JavaFX-1.9\src\main\java\fun\fireline下的AppStartUp.java以启动

JRE 运行环境,超大,200+M。

mvn clean用于清除生成的文件。

启动

双击ExpDemo-JavaFX-1.9\src\main\java\fun\fireline下的AppStartUp.java以启动

标签:java,漏洞,S2,JavaFX,fxml,编写,界面,ExpDemo,图形化
From: https://blog.csdn.net/m0_74786138/article/details/144787588

相关文章

  • javaFX.(蜜雪冰城点餐小程序)MySQL数据库
    学习Java只有3个月,不喜勿喷该小程序是用的MySQL数据库,编辑软件用的equals,为什么不用idea有提示因为主打一个纯手打要源码私信目录javafx.小程序(蜜雪冰城点餐系统)简介主体思路思路讲解用户登录用户注册忘记密码​编辑主页个人信息修改冬日温暖活动模糊查询,商品......
  • 使用 1panel图形化部署LobeChat服务端数据库版
    LobeChat它是什么?LobeChat是一个现代化设计的开源ChatGPT/LLMs聊天应用与开发框架,支持语音合成、多模态、可扩展的(functioncall)插件系统,一键免费拥有你自己的ChatGPT/Gemini/Claude/Ollama应用。它的特性?多模型服务商支持;支持本地大语言模型(LLM);模型视觉识别......
  • Java项目实战—JavaFX 贪吃蛇游戏设计与实现(附项目源代码地址)
    该项目gitee地址:https://gitee.com/jflyfox/GameSnake.git一、游戏概述贪吃蛇是一款经典的街机游戏,玩家通过控制蛇的移动方向,使其吃到食物并不断增长身体长度,同时避免撞到墙壁或自身身体。本设计文档描述了一个使用JavaFX框架开发的贪吃蛇游戏的设计思路和实现细节。二、游戏功......
  • DataGrip: MySQL数据库图形化开发工具
    一、DataGrip介绍DataGrip是JetBrains公司推出的管理数据库的产品,功能非常强大,可以兼容各种数据库,另外,JetBrains公司还有一款知名的IDE开发工具IDEA,用户体验非常不错。下载地址https://www.jetbrains.com/datagrip/download/#section=windows二、DataGrip安装下载完成后打......
  • javapackager JavaFx 打包 成exe 桌面应用 程序
    JavaFx打包成exe桌面应用程序java开发的GUI交付一般就是windows平台一般就是exe,还是比较多流程,依赖环境1.maven所有依赖jar都打包成一个jar,pom增加插件命令mvnassembly:assembly<plugin><artifactId>maven-assembly-plugin</artifactId>......
  • JavaFX 开发摄像头捕捉手势相关技术和简单的demo
    以下是使用JavaFX开发摄像头捕捉手势相关的技术介绍以及一个简单的示例代码(demo),可以实现基本的从摄像头获取图像并尝试进行简单手势相关检测的功能(这里的手势检测只是简单示意,实际完整的手势识别还需要更复杂处理,比如机器学习等算法来准确分类手势)。一、相关技术介绍JavaF......
  • RocketMQ的下载与安装(快速安装无痛使用)、图形化配置
    不说废话,就让大家直接下载安装,无痛使用【不需要了解很多安装方式】RocketMQ的下载方式官网下载下载地址2.安装环境要求说明 Windows/Linux64位系统JDK1.8(64位)源码安装需要安装Maven 3.2.x一、Windows中的安装1.官网中下载RocketMQ的运行版本下载地址2.......
  • Java基础之GUI:探索图形化界面编程的魅力
    一、引言Java的图形用户界面(GUI)编程为开发者提供了丰富的工具和组件,使得创建直观、交互性强的应用程序变得更加容易。本文将深入介绍Java基础中的GUI,包括其概念、组件、布局管理器以及事件处理等方面的知识。Java的图形用户界面(GUI)是一种通过图形化的方式与用户进行交......
  • Docker图形化页面,DockerUI安装+使用
    公众号:泷羽Sec-尘宇安全前言DockerUI是一个易于使用且轻量级的docker管理工具。通过Web界面的操作,它方便不熟悉Docker指令的用户更快地使用Docker。方便后期的构建、管理并维护同时,它是完全开源和免费的。DockerUI具有易于使用的界面。它可以是用户不需要记住d......
  • 树莓派通过终端和mydesktop文件实现py文件开机自启动程序方法(包括图形化界面)
    先说问题,在网上找的许多开机自启动方法都无法很好地让我实现python文件开机自启动,要么是完全没有用要么是只能执行部分,对于我设计的tkinter界面是无法打开的。my.desktop文件无法打开图像化界面,.bashrc文件只能在界面出来前启动,估计开机后被吞了。我的方法是通过my.desktop文......