RuoYi 4.3.1 發布,請及時更換默認秘鑰 - OSCHINA - 中文開源技術...

2020-12-25 開源中國

若依管理系統 v4.3.1 已發布,更新日誌:

  1. 國家信息安全漏洞(防止命令執行漏洞,請務必保持cipherKey密鑰唯一性)
  2. 升級shiro到最新版1.5.3 阻止權限繞過漏洞
  3. 修改驗證碼在使用後清除,防止多次使用
  4. 檢查字符支持小數點&降級改成異常提醒
  5. openOptions函數中加入自定義maxmin屬性
  6. 支持openOptions方法最大化
  7. 支持openOptions方法多個按鈕回調
  8. 新增isLinkage支持頁籤與菜單聯動
  9. 修改代碼生成導入表結構出現異常頁面不提醒問題
  10. 優化用戶頭像發生錯誤,則顯示一個默認頭像
  11. Excel導出支持字典類型

若依管理系統使用了Apache Shiro,Shiro 提供了記住我(RememberMe)的功能,下次訪問時無需再登錄即可訪問。系統將密鑰硬編碼在代碼裡,且在官方文檔中並沒有強調修改該密鑰,導致框架使用者大多數都使用了默認密鑰。攻擊者可以構造一個惡意的對象,並且對其序列化、AES加密、base64編碼後,作為cookie的rememberMe欄位發送。Shiro將rememberMe進行解密並且反序列化,最終造成反序列化漏洞,進而在目標機器上執行任意命令。

檢測漏洞:ShiroConfig.java 是否包含 fCq+/xW488hMTCD+cmJ3aQ==,如果是使用的默認密鑰則需要修改,防止被執行命令攻擊。

解決方案:升級版本到 >=v.4.3.1,並且重新生成一個新的秘鑰替換cipherKey,保證唯一且不要洩漏。

# Shiroshiro: cookie: # 設置密鑰,務必保持唯一性(生成方式,直接拷貝到main運行即可)KeyGenerator keygen = KeyGenerator.getInstance("AES"); SecretKey deskey = keygen.generateKey(); System.out.println(Base64.encodeToString(deskey.getEncoded())); cipherKey: zSyK5Kp6PZAAjlT+eeNMlg==

// 直接拷貝到main運行即可生成一個Base64唯一字符串KeyGenerator keygen = KeyGenerator.getInstance("AES");SecretKey deskey = keygen.generateKey();System.out.println(Base64.encodeToString(deskey.getEncoded()));

若依管理系統使用了PageHelper,PageHelper提供了排序(Order by)的功能,前端直接傳參完成排序。系統沒有做字符檢查,導致存在被注入的風險,最終造成資料庫中存儲的隱私信息全部洩漏。

檢測漏洞:BaseController.java 是否包含 String orderBy = pageDomain.getOrderBy();,如果沒有字符檢查需要修改,防止被執行注入攻擊。

解決方案:升級版本到 >=v.3.2.0,或者重新添加字符檢查String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());,防止注入繞過。

package com.ruoyi.common.utils.sql;import com.ruoyi.common.exception.base.BaseException;import com.ruoyi.common.utils.StringUtils;/** * sql操作工具類 * * @author ruoyi */public class SqlUtil{ /** * 僅支持字母、數字、下劃線、空格、逗號、小數點(支持多個欄位排序) */ public static String SQL_PATTERN = "[a-zA-Z0-9_\\ \\,\\.]+"; /** * 檢查字符,防止注入繞過 */ public static String escapeOrderBySql(String value) { if (StringUtils.isNotEmpty(value) && !isValidOrderBySql(value)) { throw new BaseException("參數不符合規範,不能進行查詢"); } return value; } /** * 驗證 order by 語法是否符合規範 */ public static boolean isValidOrderBySql(String value) { return value.matches(SQL_PATTERN); }}

  • Shiro阻止權限繞過漏洞 RuoYi <= v4.3.0

Shiro < 1.5.2 版本存在一處權限繞過漏洞,當受影響版本的Shiro框架結合Spring dynamic controllers使用時,未經授權的遠程攻擊者可以通過精心構造的請求包進行權限繞過,可能造成鑑權系統失效以及後臺功能暴露。

檢測漏洞:pom.xml Shiro <=1.5.2 則版本存在漏洞。

解決方案:升級版本到 >=1.5.3

  • Fastjson高危漏洞 RuoYi <= v4.2.0

Fastjson < 1.2.68 版本存在一處反序列化漏洞,主要為autoType開關繞過的反序列化漏洞利用,惡意攻擊者可以通過該漏洞繞過autoType限制實現遠程代碼執行攻擊,從而獲取目標系統管理權限,建議儘快更新漏洞修復版本或採用臨時緩解措施加固系統。

檢測漏洞:pom.xml Fastjson <=1.2.68 則版本存在漏洞。

解決方案:升級版本到 >=1.2.70

注意

若依平臺的默認口令 admin/admin123,請大家在線上環境一定要修改超級管理員的密碼。
SysPasswordService.encryptPassword(String username, String password, String salt)
直接到main運行此方法,填充帳號密碼及鹽(保證唯一),生成md5加密字符串。

內置功能

1.  用戶管理:用戶是系統操作者,該功能主要完成系統用戶配置。
2.  部門管理:配置系統組織機構(公司、部門、小組),樹結構展現支持權限。
3.  崗位管理:配置系統用戶所屬擔任職務。
4.  菜單管理:配置系統菜單,操作權限,按鈕權限標識等。
5.  角色管理:角色菜單權限分配、設置角色按機構進行數據範圍權限劃分。
6.  字典管理:對系統中經常使用的一些較為固定的數據進行維護。
7.  參數管理:對系統動態配置常用參數。
8.  通知公告:系統通知公告信息發布維護。
9.  操作日誌:系統正常操作日誌記錄和查詢;系統異常信息日誌記錄和查詢。
10.  登錄日誌:系統登錄日誌記錄查詢包含登錄異常。
11. 在線用戶:當前系統中活躍用戶狀態監控。
12. 定時任務:在線(添加、修改、刪除)任務調度包含執行結果日誌。
13. 代碼生成:前後端代碼的生成(java、html、xml、sql)支持CRUD下載 。
14. 系統接口:根據業務代碼自動生成相關的api接口文檔。
15. 服務監控:監視當前系統 CPU、內存、磁碟、堆棧等相關信息。
16. 在線構建器:拖動表單元素生成相應的HTML代碼。
17. 連接池監視:監視當前系統資料庫連接池狀態,可進行分析SQL找出系統性能瓶頸。

相關焦點

  • 若依後臺管理系統 3.1 發布,新增多項功能
    若依管理系統 v3.1 已發布,更新日誌:1、新增內網不獲取IP位址2、新增cron表達式有效校驗3、定時任務新增詳細信息4、定時任務默認策略修改(不觸發立即執行
  • ZStack 3.9.0 正式發布 - OSCHINA - 中文開源技術交流社區
    2020年6月23日,ZStack正式發布最新版本——ZStack 3.9.0,涵蓋一系列重要功能
  • 重磅推出:Gitee 2019 年度數據報告 - OSCHINA - 中文開源技術交流...
    大前端技術在 2019 年爭相進入落地期,催生出各種跨端方案。這些技術使得移動開發不再局限於 Android 與 iOS 這樣的特定端,直接用跨端框架開發「小程序」,成為了開發者更便捷的選擇。 2019年 Flutter 發布了迄今為止最重大的版本,一舉成為多平臺框架,支持移動、Web、桌面與嵌入式設備;而 Dart 也在與 C 的互操作、UI 構建和預編譯本地可執行程序等特性上大幅改進。 注重高效、安全與並行的系統級程式語言 Rust 受到越來越多開發者的關注和使用。
  • Gfast 工作流引擎 1.0 正式發布 - OSCHINA - 中文開源技術交流社區
    Gfast管理系統採用go語言開發,基於GF(Go Frame)的後臺管理系統,現增加工作流引擎模塊開源發布,實現工作流引擎與業務解綁
  • Kiwi TCMS 6.11 發布,開源測試用例管理系統 - OSCHINA - 中文開源...
    6.11 版本已經發布,這是一個安全和改進版本,它更新了許多內部依賴項,添加了 2 個新的 Telemetry 報告,更新了 TestPlan 和 TestCase 克隆頁面,並提供了其他一些改進和錯誤修復。
  • - OSCHINA - 中文開源技術交流...
    甲骨文對SUN的技術做出了一些常識性的調整,比如將SUN的硬體與Exalogic Elastic Cloud系統中的甲骨文中間件搭配使用。不過甲骨文的行為對開源領域造成了一些影響,比如Hudson持續性綜合伺服器和Java本身就引起了爭議。
  • GNOME 3.38 Beta 2 發布 - OSCHINA - 中文開源技術交流社區
    除了 FFmpeg,其他許多知名開源項目,諸如 TinyCC、QEMU、JSLinux 以及比較新的 QuickJS 均出自 Fabrice Bellard 之手,詳情查看 https://bellard.org/。 FFmpeg 單詞中...
  • Martian 框架發布了 3.0.29 版本 - OSCHINA - 中文開源技術交流社區
    請看下面示例,注意看注釋和雙引號裡的漢字/** * 老套路,正常聲明一個接口 */@MarsApi(refBean = "這裡還是可以引用 bean")public interface ExpApi { /** * get 請求示例 * http://127.0.0.1:8080/expGetRequest?
  • Kodi 19 「Matrix」 開源家庭影院發布,界面設置成簡體中文
    備受期待的Kodi 19「Matrix」開源家庭影院/媒體中心已正式發布,這是一個重大的更新,其中包含許多新功能和改進。
  • TypeScript 3.8 發布 - OSCHINA - 中文開源技術交流社區
    TypeScript 3.8 現已發布。 該版本引入了幾個新功能,包括新的或即將發布的 ECMAScript 標準功能和僅用於導入/導出類型的新語法等等。
  • Spring Boot 2.3.0 發布 - OSCHINA - 中文開源技術交流社區
    Spring Boot 2.3.0 已經發布,此版本主要更新內容包括:依賴升級新版本核心組件依賴升級
  • 開源Unix作業系統:SunOS 4.1.1體驗
    說起開源作業系統,我們更多想到的是Linux,其實Linux只是眾多開源Unix作業系統的其中一支。今天筆者為您帶來SunOS作業系統的體驗。    昇陽電腦最初開發該系統目的是給他們的工作站及伺服器使用。昇陽在行業中曾被認為是最具創造性的企業之一,也是少數幾個自己生產微處理器,電腦系統以及作業系統的公司之一。
  • JFinal 4.9 發布,持續精雕細琢 - OSCHINA - 中文開源技術交流社區
    JFinal 堅持極簡設計,迭代近 10 年,卻只有 3 萬行代碼,比傳統的同等功能組合類框架要少幾十倍的代碼量,這使得開發者可以完全掌控其原始碼,也成為學習 java 框架設計的絕佳資源。    經過這麼多年的迭代,JFinal 已經非常完善、成熟。
  • OSChina 周日亂彈 —— 跨界程式設計師
    去年10月,陳某因不同意還在讀高中的女兒談戀愛,阻止女兒與二十五歲男子交往並逼其分手,還夥同他人恐嚇、毆打女兒的男友曲某,逼對方賠償女兒的「青春損失費」共10萬元,在曲某給了1萬多元後,陳某還逼其寫下了一張欠款9萬元的欠條。#不然怎麼阻止?#1、 近日,廣西南寧一酒樓推出試營業10元/位的自助早餐,因為便宜了9元錢,不少老年人蜂擁前往,瘋搶取餐。
  • OSChina 周三亂彈 —— 總覺得路過是 VIVO 大酒店
    #1、2019年1月22日,湖北荊門,祝師傅駕駛5路城市公交車從林永興鎮駛往新市鎮,乘客應某因一直低頭玩手機而錯過下車站點,辱罵司機祝師傅,在公交車行駛中竟然摘掉了司機眼鏡。最終應某被處以行政拘留10天的處罰。#摘掉眼鏡之後,師傅撕開自己外套完成變身超人的步驟。#2、 由中美科研人員組成的團隊在一項最新研究中發現,早期帶羽毛的恐龍與現代鳥類相比,構成羽毛的結構蛋白不同。
  • OSChina 周二亂彈 —— 我的手機指紋解鎖和別人不一樣
    1日,一名學生因保姆臨時有事,家中無人照看孩子,無奈將女嬰帶進了教室。內森教授看到後對這名學生說,"我會抱著她,這樣你可以專心做筆記"。他樂顛顛地接過孩子,熟練地束好綁嬰帶開始授課。##1、一人姓李,39歲,雲南石林人;一人姓何,44歲,雲南宜良縣人。兩人是同事,皆在浙江台州上班,都有個嗜好,喜歡抽菸,癮特大。
  • 宇宙最強IDE VS 2019正式發布
    如約而至,微軟已於今天推出 Visual Studio 2019 正式版,一同發布的還有 Visual Studio 2019 for Mac。Visual Studio 2019 中已默認安裝此服務,並支持 C++ 和 Python 這兩門開發者呼聲甚高的程式語言。Live Share 支持在 Visual Studio 2019 和 Visual Studio Code 中使用。
  • KeePass 1.35 發布,密碼管理工具 - OSCHINA - 中文開源技術交流社區
    KeePass 1.35 發布了,KeePass是一款密碼管理工具.它能幫你記住電子郵件,主頁FTP,上網,論壇等用戶名和密碼,而免去了你眾多的煩惱,節省了時間.它把密碼保存在高度加密的資料庫中
  • 百度開源2020:二十個技術領域持續開源 飛槳、阿波羅成行業領先者...
    03累計向4大基金會捐贈了九個開源項目  1、超級鏈(XuperChain)  2019年5月,百度基於持續多年在區塊鏈技術與應用領域的研究與探索,推出了完全自主智慧財產權的區塊鏈底層技術——超級鏈(XuperChain)並正式開源,現已成為國內最具影響力的區塊鏈開源技術之一,其具有四大核心技術亮點
  • OSChina 周二亂彈 —— 富貴舔中求
    【小樹的世界之旅】參與#亂彈大吐槽#的快捷方式0、2月14日華為心聲社區官網上發布了一份由任正非籤發的華為內部郵件,反思華為為什麼留不住博士類員工 。在郵件中,同時也披露了一些在華為工作的博士員工的「存活」情況。