1. 程式人生 > >Sqli labs系列-less-1 詳細篇

Sqli labs系列-less-1 詳細篇

失敗 環境 活躍 link 攻擊 master dbd href and

要說 SQL 註入學習,網上眾多的靶場,就屬 Sqli labs 這個系列挺不錯的,關卡達到60多關了,我自己也就打了不幾關,一個挺不錯的練習SQL註入的源碼。

我一開始就準備等我一些原理篇總結完了,我就開始弄這個,畢竟這個裏面涉及到的 SQL 註入知識很全,我貼一個下載地址:Sqli labs系列下載地址

對了還有我這個系列的頭頂圖,那個圖是某個低調群的活躍用戶裝X墻,純屬裝 X ,娛樂著玩了,大家別當真哈。

開了正文開始了!

首先我們先開始第一關,然後構造下註入環境,也就是在 http://127.0.0.1/sqli-labs-master/Less-1/ 這個後面加入 inderx.php?id=1 ,當然我們也可以直接加 ?id=1 因為變量就是 id =1 ,只要有變量就行。

技術分享下面開始添加 。

技術分享添加後,是不是就出來數據了,那麽我們就可以開始構造註入語句了。

常規的,我先在 id=1 後面輸入 and 1=1 來進行判斷是否會顯示正確。

技術分享結果很明顯,顯示正確,那我就開始輸入 and 1=2 進行顯錯測試。

技術分享結果沒有顯錯,我就開始納悶了,我先構造了下,可能是的SQL語句。

技術分享然後我開始輸入 ‘ 這個點符號,讓它報錯,我進行思考。

技術分享對於我一直玩這個來說,報錯的一看,我就知道原因出在哪了,但是大家可能沒看出來,那我就換個報錯符號,用 \ 這個來代替 ‘ 。

技術分享我們把報錯信息,復制到我們的新建文本裏,進行分析。

技術分享看到這裏,不知道大家能看出來不能,我先猜想一下,他的 SQL 語句應該是這樣的。

技術分享關於後面的 line 1 這個就是個逐字查看的,我們先不分析這個,只分析如何才能註入。

好了我再把上面的那個報錯的 SQL 語句給拆分下,這樣大家都能直接看懂。

技術分享我在貼一個。

技術分享

看出來了沒?是不是參數被強制轉成字符串?我們只要把這個 ‘ 給前後閉合了,不就可以進行查詢了?

在這裏,大家肯定想的是註釋掉後面的不就行了?對了,註釋掉就行。不過由於我是經常玩的,我就直接想開兩個方法,一個是閉合,一個是註釋。

技術分享第一個是閉合,第二個是 -- 註釋,對了,兩個杠後面必須有個空格才能起到註釋的效果,不過我一般都是用 + 來替換空格, --+ ,就這樣的註釋。

好了我們開始測試第一個閉合法,看看行不行。

技術分享and 1=1 ,顯示正確,那我再測試 and 1=2 。

技術分享好的,如我所想,報錯了。

再測試下,註釋法。

技術分享and 1=1 顯示正常,再測試 and 1=2 。

技術分享顯示錯誤了,那麽這基本上就可以開始我的 SQL 註入大法了!

我要開始註入了!!!

首先先判斷字段數,我一開始是用的 order by 這個查詢的,結果查了100個了還不報錯,那就說明這個失敗了,我只能用 union select 這個方法查了,我查了一共有3個字段數。

技術分享然後我開始讓它報錯,在 union select 前面加上 and 1=2 ,促使它報錯。

技術分享然後開始開始查詢庫名,版本號,用戶。

用戶。

技術分享庫名。

技術分享版本號。

技術分享由於是5.0以上,我們可以直接查詢。

我先把當前庫名轉碼下。

技術分享然後開始爆出全部的表名。

技術分享我選中了 users 這個表名,繼續轉碼。

技術分享然後開始爆該表名下的所有列名。

技術分享我直接選擇了兩個,開始直接爆數據。

技術分享結果啥都沒出來,還報錯了。。。。。。

然後我看到報錯提示後,果斷換 註釋法,註釋掉後面的。。。。

技術分享好了,成功爆出數據。

好了第一關,我過關了。

總結:

我知道我第一關寫的很詳細,不過60多光,我肯定是寫不完了,我玩這個在沒事的時候,玩玩,玩了我就直接寫第二貼。還有如果對我下面的攻擊語句有點陌生的話,可以查看本專欄下的 MySQL 數據庫 SQL 註入攻擊原理分析,進行學習。

地址: mysql註入篇

Sqli labs系列-less-1 詳細篇