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

    【技術分享】聊一聊bypass information_schema

    VSole2022-05-11 08:28:38

    前言

    聊一聊mysql在被waf禁掉了information_schema庫后還能有哪些利用思路,這個想法是前一段時間想到的,這次趁著安全客活動就在這里記錄一下吧~

    #  實驗環境
    windows 2008 r2
    phpstudy (mysql 5.7)
    某waf(原因是該waf可以設置非法訪問information_schema數據庫)
    

    前置任務

    進行bypass之前先了解一下mysql中的information_schma這個庫是干嘛的,在SQL注入中它的作用是什么,那么有沒有可以替代這個庫的方法呢?

    information_schema

    簡單來說,這個庫在mysql中就是個信息數據庫,它保存著mysql服務器所維護的所有其他數據庫的信息,包括了數據庫名,表名,字段名等。

    在注入中,infromation_schema庫的作用無非就是可以獲取到table_schema,table_name,column_name這些數據庫內的信息。

    MySQL5.7的新特性

    由于performance_schema過于發雜,所以mysql在5.7版本中新增了sys schemma,基礎數據來自于performance_chema和information_schema兩個庫,本身數據庫不存儲數據。
    *注*:
        這里說一下,現在網絡上能搜索到的文章大部分都是利用innoDB引擎繞過對information_schema的過濾,但是mysql默認是關閉InnoDB存儲引擎的,所以在本文中不討論該方法,若想了解可自行搜索,網絡上有很多分析文章了。
    

    sys.schema_auto_increment_columns

    開始了解這個視圖之前,希望你可以想一下當你利用Mysql設計數據庫時,是否會給每個表加一個自增的id(或其他名字)字段呢?如果是,那么我們發現了一個注入中在mysql默認情況下就可以替代information_schema庫的方法。

    schema_auto_increment_columns,該視圖的作用簡單來說就是用來對表自增ID的監控。

    這里我通過security(sqli-labs)和fortest(我自建庫)兩個庫來熟悉一下schema_auto_increment_columns視圖的結構組成,以及特性。

    # fortest庫
        data 表存在自增id
        no_a_i_table 表不存在自增id
        test 表存在自增id
    # security庫
        //該庫為sqli-labs自動建立
        emails,referers,uagents,users
    

    可以發現,fortest庫中的no_a_i_table并不在這里存在,然而其他非系統庫的表信息全部在這里。根據前面介紹的schema_auto_increment_columns視圖的作用,也可以發現我們可以通過該視圖獲取數據庫的表名信息,也就是說找到了一種可以替代information_schema在注入中的作用的方法。

    當然了,如果你說我們就是想想通過注入獲取到沒有自增主鍵的表的數據怎么辦?通過翻閱sys中的視圖文檔,我又發現了一個視圖也許可以實現這種需求?。

    schema_table_statistics_with_buffer,x$schema_table_statistics_with_buffer

    查詢表的統計信息,其中還包括InnoDB緩沖池統計信息,默認情況下按照增刪改查操作的總表I/O延遲時間(執行時間,即也可以理解為是存在最多表I/O爭用的表)降序排序,數據來源:performance_schema.table_io_waits_summary_by_table、sys.x$ps_schema_table_statistics_io、sys.x$innodb_buffer_stats_by_table

    通過介紹的內容我們可以很容易的發現,利用“數據來源”同樣可以獲取到我們需要的信息,所以說這樣的話我們的繞過information_schema的思路就更廣了。加下來依次看一下各個視圖的結構:

    # sys.schema_table_statistics_with_buffer
        可以看到,在上一個視圖中并沒有出現的表名在這里出現了。
    

    # sys.x$schema_table_statistics_with_buffer
    

    # 在從`數據來源`中隨便選取一個視圖為例(想查看視圖詳細結構等信息可自行測試)# sys.x$ps_schema_table_statistics_io# 可忽略table_name='db',默認的并非我創建。

    注: 類似的視圖等還有很多,若有興趣可自行翻閱,這里僅拋磚引玉吧,記錄一下自己之前的想法思路。

    01

    Bypass information-schema

    上面的方法的確可以獲取數據庫中表名信息了,但是并沒有找到類似于information_schema中COLUMNS的視圖,也就是說我們并不能獲取數據?

    join

    這個思路在ctf中比較常見吧,利用join進行無列名注入,如何利用到這里就顯而易見了。

    join … using(xx)

    簡單的記錄一下payload吧。以本文開頭的環境為例,這里的waf會完全過濾掉information_schema庫。

    由于開啟防護后會攔截正常注入,所以圖中payload可能會有些亂,我會將簡單的payload整理在下面,繞過防護的部分完全可以自由發揮。

    to_increment_columns
    ?id=-1' union all select 1,2,group_concat(table_name)from sys.schema_auto_increment_columns where table_schema=database()--+
    

    # schema_table_statistics_with_buffer
    ?id=-1' union all select 1,2,group_concat(table_name)from sys.schema_table_statistics_with_buffer where table_schema=database()--+
    

    其他的就不測試了,都是一個payload。


    獲取字段名

    # 獲取第一列的列名
    ?id=-1' union all select*from (select * from users as a join users b)c--+
    

    # 獲取次列及后續列名?id=-1' union all select*from (select * from users as a join users b using(id,username))c--+
    


    數據庫數據庫視圖
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    數據庫注入提權總結
    2022-08-09 16:49:49
    select * from test where id=1 and ;布爾盲注常見的布爾盲注場景有兩種,一是返回值只有True或False的類型,二是Order by盲注。查詢結果正確,則延遲3秒,錯誤則無延時。笛卡爾積延時大約也是3秒HTTP頭注入注入手法和上述相差不多,就是注入點發生了變化HTTP分割注入常見場景,登錄處SQL語句如下
    數據庫技術是一門信息管理自動化學科的基礎課程,在經歷了半個世紀的發展后已經成為計算機科學的重要分支,被廣泛應用于人們的日常生活。數據庫的核心任務是數據資產的管理,包括數據的分類、組織、編碼、儲存、檢索和維護。在數據信息爆發式增長的今天,數據庫承擔了越來越多的數據處理與分析職責,以數據賦能的形式不斷促進應用創新,助力數字化發展進程。
    在所有漏洞類型中,SQL 注入可是說是危害最大最受大家關注的漏洞。簡單說來,SQL 注入是通過在用戶可控參數中注入SQL語法,破壞原有SQL結構,達到編寫程序時意料之外結果的攻擊行為。還是以 ThinkJS 為例,假設我們寫了如下一個接口(實際情況肯定不會這么寫的):
    據外媒,英國安全公司TurgenSec最新公布的報告顯示,來自菲律賓政府的多達34.5萬份敏感法律文件已在網絡上被黑客曝光,這家公司表示,這些件雖然已于4月28日被刪除,但其中一些仍被谷歌的搜索引擎緩存并可以在公開網絡上找到。
    攻擊者發送帶有虛假工作機會的電子郵件作為誘餌,試圖誘騙受害者安裝 Enigma 信息竊取惡意軟件。
    Sensei Enterprises, Inc.的法律、IT、網絡安全和數字取證服務的專家撰文揭露了印度網絡間諜針對全球法律訴訟及相關人員的滲透攻擊活動。
    顯然,雇傭間諜已成為訴訟當事人尋求優勢的武器。正如文章指出的那樣,Gupta從未被美國當局逮捕。大多數受訪者表示,電子郵件數據庫中顯示的黑客攻擊未遂發生在預期訴訟之前或訴訟正在進行時。Cleary Gottlieb公司拒絕置評。針對的法律案件的類型和重要性各不相同。
    掃描 REST API 中的漏洞
    2020-09-03 17:04:24
    許多復雜的Web應用程序都是使用REST API構建的。與整體Web應用程序和網站一樣,Acunetix可以幫助您確保所有REST API的安全性。在本文中,您將學習如何使用OpenAPI,Swagger或WADL定義來發現和修復REST API中的漏洞:...
    密碼是非法攻擊者闖入企業網絡環境的最簡單途徑之一。
    這家新興組織也被稱為亞特蘭蒂斯網絡軍,擁有一位神秘的領導者和一組核心管理員,提供一系列服務,包括獨家數據泄露、DDoS 和 RDP。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类