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

    一次盲注漏洞的手工測試過程

    VSole2023-02-06 10:47:47

    在一次測試中,發現一個輸入單引號觸發頁面報錯,而輸入兩個單引號觸發頁面跳轉拒絕訪問的頁面,比如:

    name='  -> Redirecting to /Error.aspx pagename='' -> Redirecting to /AccessDenied.aspx page
    

    嘗試多次輸入單引號,發現了一定的規律:

    name='''    -> Redirecting to /Error.aspx pagename=''''   -> Redirecting to /AccessDenied.aspx pagename='''''  -> Redirecting to /Error.aspx pagename='''''' -> Redirecting to /AccessDenied.aspx page
    

    當輸入基數個單引號時,頁面跳轉 Error.aspx,當輸入偶數個單引號時,頁面跳轉至 AccessDenied.aspx,由于網站服務器是 asp.net + iis 架構的,根據經驗判斷,后端服務器應該是 MSSQL。

    接下來的目標是通過該接口獲取數據,由于無法回顯詳細的報錯信息,也無法展示查詢的信息,所以只能通過單字符猜解的方式,也就是大家常說的盲注,適用于這個場景下的盲注類型,可以選擇通過構造報錯語句的方式也就是布爾盲注,還可以選擇借助時間函數的方式也就是時間盲注。

    在有其他選擇的情況下,通常最后選擇使用時間盲注,畢竟時間盲注所要消耗的時間是最長的,當然也是最萬能的方式,在我的理解中不同注入方式的優先級是這樣的:

    報錯注入 > 聯合查詢 > 布爾盲注 > 時間盲注 > 數據庫帶外查詢

    今天的手工測試方法選用布爾盲注,如果時回顯錯誤信息的情況下,以下查詢語句可以返回數據庫的名稱:

    '+convert(int,db_name())+'
    

    因為數據庫的名稱是字符串,而將字符串轉換為數字型時會報錯,而今天這個環境下測試時發現:

    '+convert(int,db_name())+' -> Redirecting to /Error.aspx page'+convert(char,db_name())+' -> Redirecting to /AccessDenied.aspx page
    

    當注入查詢語句后,如果語句報錯則頁面會跳轉至 Error.aspx 頁,當語句是正確的時候,頁面會跳轉至 AccessDenied.aspx,而對于 MSSQL 而言,可以在 SQL 語句中使用 IIF 函數,比如:

    SELECT IIF(1>2,"YES","NO")
    

    如果第一個語句 1>2 為真,則返回第一個值,如果為假則返回第二個值,再結合 convert 函數來組合一個布爾查詢的語句,如下:

    '+convert(char,(SELECT IIF(SUBSTRING(DB_NAME(),1,1)='A',3,@@VERSION)))+' -> Redirecting to /AccessDenied.aspx
    

    這個查詢語句將做如下操作:

    1、DB_NAME() 函數返回數據庫的名稱 2、SUBSTRING 函數提取數據庫名稱的中第一個字符并與字母 A 進行比較 3、IIF 函數判斷,數據庫名稱的第一個字符是否為字母 A,如果是,返回 3,如果不是返回數據庫的版本信息 4、最后使用 convert 函數進行強制轉換類型為字符,經過 IIF 函數判斷的結果為數字,則跳轉至 AccessDenied.aspx 頁面,如果是數據庫的版本信息,強制轉換類型失敗,頁面報錯,跳轉至 Error.aspx 頁。

    那么接下來只需不斷變換 A 的內容、以及 SUBSTRING 提取的單個字符位置,就能一個一個的猜解出我們想要查詢的具體內容。

    這個自動化的過程,需要用過工具 BurpSuite 中的 Intruder 功能,選擇 Cluster Bomb 攻擊模式:

    先來檢測數據庫名稱的長度,設置 payload 為數字類型,從 1 到 99:

    接下來一個字符一個字符的做猜解,使用的 payload 為所有數字、大小寫字母以及下劃線:

    最后設置 Grep - Extract 功能,將重定向到 AccessDenied.aspx 頁面作為規則:

    接下來啟動攻擊后,下圖可以看到獲取到的數據庫名稱:

    到這里整個盲注測試的過程就結束了,如果想要獲取數據庫名稱之外的信息,可以替換 payload 中 DB_NAME () 部分,比如:

    select host_name()   -> 主機名select top 1 table_name from INFORMATION_SCHEMA.tables  -> 獲取表名select top 1 column_name from INFORMATION_SCHEMA.columns  -> 獲取列名select column_name from table_name ORDER BY column_name OFFSET 2 ROW FETCH FIRST 1 ROW ONLY  -> 獲取指定表、列中的數據
    

    最后,如果能使用 sqlmap 跑出來,就上自動化工具吧,快速且簡單,手工測試,主要是為了應對特殊情況下的場景,作為一個高級安全工程師,手工測試是基礎,如果你還不會,趕緊動手搞起來吧。

    數據庫測試過程
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    在一次測試中,發現一個輸入單引號觸發頁面報錯,而輸入兩個單引號觸發頁面跳轉拒絕訪問的頁面,比如:name=' -> Redirecting to /Error.aspx pagename='' -> Redirecting to /AccessDenied.aspx page. 當輸入基數個單引號時,頁面跳轉 Error.aspx,當輸入偶數個單引號時,頁面跳轉至 AccessDenied.aspx,由于網站服務器是 asp.net + iis 架構的,根據經驗判斷,后端服務器應該是 MSSQL。因為數據庫的名稱是字符串,而將字符串轉換為數字型時會報錯,而今天這個環境下測試時發現:'+convert+' -> Redirecting to /Error.aspx page'+convert+' -> Redirecting to /AccessDenied.aspx page
    在滲透測試過程中遇到了MSSQL數據庫,市面上也有一些文章,不過大多數講述的都是如何快速利用注入漏洞getshell的,對于MSSQL數據庫的注入漏洞沒有很詳細地描述。在這里我查閱了很多資料,希望在滲透測試過程中遇到了MSSQL數據庫能夠相對友好地進行滲透測試,文章針對實戰性教學,在概念描述方面有不懂的還請自行百度,謝謝大家~
    由于測試過程中很多系統我們能接觸到的只有一個登陸界面,所以要充分挖掘漏洞,進行深入操作登錄 注冊萬能密碼繞過登錄存在 SQL 注入的情況下,有可能使用萬能密碼直接登錄admin' or '1'='1'--. 有超級多登錄口 SQL 注入存在 SQL 注入的話直接注出賬密有些可以構造用戶注入登錄,比如熊海 cms 后臺登錄處存在 sql 注入$login=$_POST['login'];
    無回顯概念無回顯,即執行的payload在站點沒有輸出,無法進行進一步操作。不同漏洞的無回顯1、SQL注入無回顯SQL注入,作為OWASP常年占據榜首位置的漏洞,在無回顯中也是常見的。
    一般網站主站信息都比較少,我們需要在滲透測試過程的信息搜集階段,我們可能會自動化工具獲得來網站其他路徑如:后臺、其他未授權訪問路徑,掃描得到敏感文件的路徑,從而找到敏感數據。 根據路徑爆破工具進行使用與測評分析工具的特點,批量訪問發現的路徑查找敏感路徑。工具爬蟲掃描得到敏感文件的路徑,找到敏感數據。
    提權需要的東西有點兒多,筆記里出現的工具不建議在百度上下載。如果支持aspx,可以上傳aspx,通過aspx大馬,直接調用默認cmd掃描掃出了其他人的大馬可以嘗試用?
    0x02 部署方法1. 手動部署域名解析假設根域名是dnslog.com,服務器IP是10.10.10.10進行以下配置配置A記錄,子域名ns,解析到10.10.10.10. 用于訪問平臺web,dns.dnslog.com?作為測試時payload中設置的域名,每個用戶對應 dns.dnslog.com 下的子域名,如 1.dns.dnslog.com登錄平臺后可以在API信息中看到對應的地址,子域名隨意設置,對應上即可數據庫配置登錄mysql執行以下命令,bridge.sql在程序的根目錄下source bridge.sql. maven生成的jar包位置在target目錄下,如dns_log-0.0.1-SNAPSHOT.jarjava -jar dns_log-0.0.1-SNAPSHOT.jar dns.dnslog.com dnslog.dnslog.com 10.10.10.10 a1b2c3d4
    無回顯漏洞測試
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类