Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/MInggongK/jeecg-

jeecg综合漏洞利用工具
https://github.com/MInggongK/jeecg-

Last synced: 3 months ago
JSON representation

jeecg综合漏洞利用工具

Awesome Lists containing this project

README

        

# jeecg综合漏洞利用工具

jeecg综合漏洞利用工具,程序采用javafx开发,环境JDK 1.8 声明:仅用于授权测试,用户滥用造成的一切后果和作者无关 请遵守法律法规!
漏洞收录如下:

jeecg-boot queryFieldBySql远程命令执行漏洞

jeecg-boot testConnection远程命令执行漏洞

JeecgBoot jmreport/loadTableData SSTI模板注入漏洞

jeecg-boot-queryTableData-sqli注入漏洞

jeecg-boot-getDictItemsByTable-sqli注入漏洞

Jeecg-Boot qurestSql-SQL注入漏洞

jeecg-boot commonController 任意文件上传漏洞

jeecg-boot jmreport任意文件上传漏洞

jeecg-boot-querySysUser信息泄露漏洞

jeecg-boot-checkOnlyUser信息泄露漏洞

jeecg-boot-httptrace信息泄露漏洞

jeecg-boot-任意文件下载漏洞

jeecg-boot-jeecgFormDemoController漏洞

jeecg-boot-v2 P3 Biz Chat任意文件读取漏洞

jeecg-boot-v2 sys/duplicate/check注入漏洞

jeecg-boot-v2 AviatorScript表达式注入漏洞

# 功能介绍

Jeecg综合漏洞利用工具集成了多模块漏洞利用,包括一键漏洞检测,单独选择模块检测,cmdshell模块,文件上传模块,批量检测模块等
v3.0版本内置的标准库外,在检测模块加入了okhttp的三方库,支持https网站检测,以及优化了基于jeecg queryUser漏洞的接口测试

一键检测模块,选择模块

jeecg-boot queryFieldBySql远程命令执行漏洞

jeecg-boot testConnection远程命令执行漏洞

JeecgBoot jmreport/loadTableData SSTI模板注入漏洞

jeecg-boot-queryTableData-sqli注入漏洞

jeecg-boot-getDictItemsByTable-sqli注入漏洞

Jeecg-Boot qurestSql-SQL注入漏洞

jeecg-boot commonController 任意文件上传漏洞

jeecg-boot jmreport任意文件上传漏洞

jeecg-boot-querySysUser信息泄露漏洞

jeecg-boot-checkOnlyUser信息泄露漏洞

jeecg-boot-httptrace信息泄露漏洞

接口测试模块:

jeecg-boot-querySysUser信息泄露漏洞

jeecg-boot-checkOnlyUser信息泄露漏洞

cmdshell模块:

jeecg-boot queryFieldBySql远程命令执行漏洞

jeecg-boot testConnection远程命令执行漏洞

JeecgBoot jmreport/loadTableData SSTI模板注入漏洞

文件上传模块:

jeecg-boot commonController 任意文件上传漏洞

jeecg-boot jmreport任意文件上传漏洞

批量检测模块:

jeecg-boot queryFieldBySql远程命令执行漏洞

jeecg-boot testConnection远程命令执行漏洞

JeecgBoot jmreport/loadTableData SSTI模板注入漏洞

jeecg-boot-queryTableData-sqli注入漏洞

jeecg-boot-getDictItemsByTable-sqli注入漏洞

Jeecg-Boot qurestSql-SQL注入漏洞

# 功能使用

默认模块可一键扫描所有漏洞

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/sdfdsaa.png)

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/ewrwrw.png)

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/4rwerwr.png)

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/erertert.JPG)

选择模块可单独选择你要检测的漏洞

cmdshel模块

如存在jeecg-boot queryFieldBySql远程命令执行漏洞

选择cmd模块的jeecg-boot queryFieldBySql远程命令执行漏洞

输入你要执行的命令即可

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/rggdsgs.png)

文件上传模块:

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/erwwrw.JPG)

如存在jeecg-boot jmreport任意文件上传漏洞

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/erewr.png)

shell不再内置,支持用户自定义上传,输入你的shell代码,文件名,点击上传即可

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/dfdsfdsf.png)

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/dsfsdfdsf.png)

批量检测模块:

下载jeecgExploitss jar程序,本地新建文本urls.txt

选择你要检测的模块,点击检测,即可开始批量检测

批量检测,默认只输出存在漏洞的网站

后续根据版本优化再添加其他的批量检测模块

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/saddad.png)

# 编写小记

使用了IWannaGetAll-v1.2.1工具的jeecgboot模块之后

发现了2处,相对明显的bug,所以在两个bug基础上进行优化

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/asdsadads.JPG)

第一处bug如下:

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/adadad.PNG)

Jeecg-Boot qurestSql-SQL注入漏洞

漏洞显示是存在,实际上经过验证,发现漏洞是不存在的!

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/dsfsf.jpg)

第二处bug如下:

发现IWannaGetAll-v1.2.1编写作者,在针对jeecg-boot-querySysUser信息泄露漏洞这个漏洞上
默认只写了接口jeecg-boot的漏洞检测,然而这种检测,实际上会存在误判几率

原因如下:

很多jeecg的网站默认接口不一定都是jeecg-boot

那么一旦有其他接口,则可能出现误判

比如

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/saddasd.jpg)

在IWannaGetAll-v1.2.1工具中的模块,检测显示漏洞不存在,那是因为他只进行了jeecg-boot的漏洞检测

然而这个网站,接口并不是jeecg-boot,所以造成了误判

那么如何解决这个问题呢?
我们先来到jeecg网站
发现这里

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/gfds.png)

发现这里就是接口的位置

那么一般接口都会写到这里

接口位置: window._CONFIG['domianURL']
这个地方
我们可以采取正则的方式来抓取这个接口,再进行判断,这样就精准了

"window._CONFIG\\['domianURL'\\] = \\'(.*?);");

找到这个接口,再判断他就相对精准了

两种实现方式

1,抓取到的接口传递给文本,通过文本叠加到payload,发送请求进行判断

2、通过抓取到的接口,进行二次判断

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/fghfh.jpg)

通过发现这个漏洞是存在的

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/fghfhg.png)

如果如果抓取到的接口是jeecgboot,检测漏洞不存在,可以忽略
如果抓取到新接口,则填入接口,进行接口判断

jeecg-boot queryFieldBySql远程命令执行漏洞优化

输出的是fieldName位置
采用了解析json数据遍历查找方式,来进行优化

for (Object field : fieldList) {
if (field instanceof JSONObject) {
JSONObject fieldObject = (JSONObject) field;
String fieldName = (String) fieldObject.get("fieldName");

当用户输入cmdshell命令时,将只输出fieldName结果

# 更新日志

JeecgBoot综合漏洞利用工具v4.2版

更新内容:

取消了正则抓取接口

合并了/jeecgboot 和/的漏洞检测

poc1是基于jeecgboot目录的检测

poc2是基于/目录的检测

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/sd.png)

新增了

jeecg-boot-v2 P3 Biz Chat任意文件读取漏洞

jeecg-boot-v2 sys/duplicate/check注入漏洞

jeecg-boot-v2 AviatorScript表达式注入漏洞

新增了自定义header头测试

JeecgBoot综合漏洞利用工具v4.0版

用户填入抓取的接口,也可以填入自定义接口,进行测试

v4.0版填入格式:填入sdfs点击测试,即可开始测试

优化思路:

1,抓取接口

2、手动填入接口,进行非jeecg-boot的目录判断

场景1:

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/esfse.png)

使用默认jeecg-boot目录测试

抓取到新接口:

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/gfh.png)

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/hfg.png)

场景2:

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/rt.png)

漏洞验证:

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/tryt.png)

![image](https://github.com/MInggongK/jeecg-/blob/main/jeecgExploitss/fgddf.png)