滲透測試工具之sqlmap

2021-09-26 02:42:37 字數 2540 閱讀 4391

在這個資料有價的時代資料庫安全已經成為了重中之重,於是就整理了一下最常用的一款(反正我上大學的時候它還是蠻流行的...)資料庫安全方面的滲透測試工具sqlmap的使用筆記。

sqlmap是乙個自動化的sql注入滲透工具,指紋檢測、注入方式、注入成功後的取資料等等都是自動化的,甚至還提供了乙個字典來將取回來的hash爆破,當然對於真實環境中這爆破功能戰鬥力基本為0....

模擬乙個真實的場景,我寫了乙個有sql注入漏洞的登入介面作為測試用來練習sqlmap的使用,就拿它開刀來取得乙個合法的登入口令。

首先檢測引數是否可注入:

./sqlmap.py -u ""
需要注意的是上面的url一定要用引號括起來不然會報錯的。

按照提示一步一步選擇即可,如果覺得選項太多太麻煩可以使用--batch來讓程式自己個選擇:

./sqlmap.py -u "" --batch
如果可以注入的話,結果應該是類似於這個樣子的:

上面的意思就是發現了兩個注入點,這兩個注入點就是傳入的username和passwd引數。

當手中有了注入點的時候,就相當於是有了這個資料庫的訪問權,接下來把需要的資料取回來即可。

想象一下登入口令一定存放在某張表下,可是我連這台機器上都有哪些資料庫都不知道該怎麼辦呢,--dbs檢視資料庫:

./sqlmap.py -u "" --batch --dbs
我自己機器資料庫有些不可描述的庫,我打了下碼,大致就是這個樣子吧:

我是能看到有哪些資料庫了,但這有毛線用啊,我想知道的是這個應用程式當前使用的資料庫是哪個啊,使用 --current-db:

啊我看到了當前的資料庫是sql_inject_demo,我要趕緊知道這個庫下面都有哪些表:

啊,可惡,忘了多做幾張混淆視聽的表了,在實際環境中一般都會有百八十張表差不多的,但是儲存使用者的一般腦迴路正常的都會跟user這個詞沾邊的,所以確定到底是哪個表是使用者表難度還是蠻低的,好了這一關權當放水通過了,接下來我要看這張表中都有哪些字段,因為我需要使用者名稱和密碼這兩個列的資料,但是首先我得知道儲存這兩個欄位的列名字,所以看一下這個使用者表的表結構:

呃,好吧,這個表的結構過於簡單,又算是放水了,不過一般儲存使用者名稱的列都會叫user、username、name之類的,儲存密碼列的都會跟passwd、password、auth之類的沾邊的,如果不確定的話就多取幾列也沒關係的,現在已經確定了字段的名字了,把它拿回來:

./sqlmap.py -u "" --batch -d sql_inject_demo -t t_user -c 'username, passwd' --dump
這個過程可能會稍微有點慢,因為使用了--batch讓sqlmap對一些詢問的選項自己看著辦,其中有乙個檢測到hash詢問是否字典爆破的這貨預設給爆破了,所以可能需要等上好一陣子才能看到結果:

哈,這個時候我們已經得到了想要的東西,乙個訪問口令,get!它就是 admin / admin。

因為我這裡設定的是弱口令,所以很快就跑出來了,如果密碼複雜度很高的話可能需要儲存下來另外使用專門的爆破工具來搞一搞。

這裡有個坑,我開始寫的時候密碼習慣性的加了鹽,然後就跑不出來了,後來注釋掉了,至於加了鹽的密碼該怎麼搞我也布吉島....

作為乙個有野心的指令碼小子,怎麼能滿足於只get乙個web訪問口令呢,我們都知道mysql的元資料什麼的都是儲存在它的乙個叫mysql的庫中,包括訪問系統的口令,所以這個時候可以如法炮製,獲得資料庫的訪問口令:

./sqlmap.py -u "" --batch -d mysql -t user -c 'user, authentication_string' --dump
哈,這麼簡單就得到了mysql的root訪問許可權....

當然實際環境中不會這麼順利啦,這裡只是作為乙個演示而已。

滲透測試工具之sqlmap

滲透測試是一種利用模擬黑客攻擊的方式來評估計算機網路系統安全效能的方法。滲透測試工具很多,其中sqlmap 是乙個開源的滲透測試工具,可以用來進行自動化的檢測,利用sql注入漏洞,獲取資料庫伺服器的許可權。它具有功能強大的檢測引擎,針對各種不同型別資料庫的滲透測試的功能選項,包括獲取資料庫中儲存的資...

滲透測試工具 sqlmap

簡單來說 乙個用來做sql注入攻擊的工具 2.配置環境變數 控制面板 系統和安全 系統 高階系統設定 環境變數 找到path 新建黏貼python位址 sqlmap支援五種不同的注入模式 1 基於布林的盲注,即可以根據返回頁面判斷條件真假的注入。2 基於時間的盲注,即不能根據頁面返回內容判斷任何資訊...

滲透測試工具SQLmap

一 簡介 sqlmap 是一款用 python 編寫的開源滲透測試工具,用來自動檢測和利用 sql 注入漏洞。二 windows 下安裝 2.1 安裝 python 環境 注 python 3.0會出錯 python 2.6 且 3.0 2.2 安裝 sqlmap 官方 2.3 配置 將解壓後的 s...