使用sqlmap進行sql注入
早就聽說BT5sqlmap功能很強大,今天終於下決心拒絕DOTA和蒼老師的誘惑,靜下心來研究研究這個傳說中的sqlmap!由於在虛擬機器裡面用的蛋疼,我直接在真機上也裝了個BT5的系統,嘻嘻··,那感覺,真是流暢啊,各種不卡!
簡單介紹下sqlmap吧,它是一個自動化的SQL隱碼攻擊工具,其主要功能是掃描,發現並利用給定的URL的SQL隱碼攻擊漏洞,目前支援的資料庫是MS-SQL,,MYSQL,ORACLE和POSTGRESQL。SQLMAP採用四種獨特的SQL隱碼攻擊技術,分別是盲推理SQL隱碼攻擊,UNION查詢SQL隱碼攻擊,堆查詢和基於時間的SQL盲注入。其廣泛的功能和選項包括資料庫指紋,列舉,資料庫提取,訪問目標檔案系統,並在獲取完全操作許可權時實行任意命令。
今天是用BT5下的sqlmap對一個真實的站進行一系列的操作,環境嘛就是bt5,+sqlmap,在操作之前我把所有的軟體全部更新了一下,由於很久沒進入真機上的bt5系統,所以更新了很久,提醒下,高版本的python與sqlmap貌似相容有問題,建議使用穩定版本的python+sqlmap,好了,下面進入正題!
0×01
很多朋友在使用bt5裡的工具的時候經常為找不到哪個地方而煩躁,還有那些複雜的路徑名,誰記得住啊,建議使用ALT+F2,在彈出的欄目裡輸入你想要使用的工具就可以了,如下圖。
讓我們看看sqlmap的說明,好長啊,這也說明了這個工具的複雜性和強大性,配合各種引數,能完成我們想要實現的效果
根據SQLMAP的說明,它是發現並利用給定的URL的SQL隱碼攻擊漏洞,所以我們要先發現一個可以注入的URL,怎麼找··大家發揮想象了,今天主要介紹SQLMAP的一些功能。
上圖是啟動SQLMAP,對這個注入點進行初步的判斷和檢測,它的檢測機制在文章開頭也已經說明,啟動後,SQLMAP開始工作,並對給定的URL開始判斷,如下圖
已經判斷出目標的系統和資料庫型別,從上圖也可以清楚的看出SQLMAP的判斷方法
接著輸入,如下圖
這是判斷當前資料庫的使用者是否是dba,
根據顯示的結果看出,當前使用者就是DBA··
接著輸入,如下圖
這句的目的是列舉資料庫的使用者
從返回的結果看來,資料庫使用者是SA啊,這代表什麼就不多說了吧
接著輸入,入下圖:
這句的目的是獲取資料庫使用者的密碼,
SA的HASH密碼已經顯示出來,而且它還有解密的模組,你如果選擇Y,它就會載入自己的解密字典,這裡雖然沒有解出來,但是把密碼的結構顯示的很明白,什麼頭部啊,混合的部分啊,都很明白,如下圖
接著輸入,如下圖;
這是判斷當前的許可權,結果如下:
接著輸入,如下圖:
這句的目的是將所有的資料庫列出來,結果如下:
但是這兒我沒有發現與管理有關的庫,算了吧,今天主要講講如何對庫裡的資料進行查詢,
接著輸入
這是顯示WC2表的所有表,如下:
已經把所有的表都顯示出來了,我們隨便找一個表,查詢列
我們找的是DBO.BZJ_FFMX表的內容,如下
把列名,和型別顯示出來,接著查詢列的內容,如下:
這裡是查詢第2到第4行的內容,顯示如下:
如果我們找到管理員資訊的表了,這兒不就找到對應的賬號和密碼了嗎!
接著繼續:
這兒我們將所有的庫匯出來,我想這就是前段時間盛傳的脫褲吧,在執行這項操作的時候,會把所有的表裡的內容匯入到當前的一個目錄下,看著清楚明瞭,但是花費的時間和很長。
上圖就是WC2庫裡所有的表,SQLMAP匯出來是CSV的格式,我們直接開啟就能看到裡面的資料,
要在SQLMAP裡執行命令就用—OS-CMD=命令就可以了
好了,演示就到這兒了,很基礎的科普,今天弄了一天的這個,發覺這個工具真的蠻強大的,有一點需要注意,之前我用穿山甲對這個站進行過掃描和執行命令,我用SQLMAP到處表的時候,發現了一個pangolin_test_table,這個應該就是穿山甲執行命令建的那個臨時表,但是沒有刪除,如果精明的管理員發現的話,一定會有所察覺的!今天我寫這個也是個拋磚引玉的作用,希望更多的人一起探討交流BT5的使用!
對sqlmap感興趣可以參考:《sqlmap使用者手冊》或者實戰文章《滲透126網盤過程》及強大的繞過waf教程《如何使用SQLMap繞過WAF》
本文來自: 網路安全攻防研究室(www.91ri.org) 請尊重作者,轉載時帶上版權資訊。 詳細內容請參考:http://www.91ri.org/3574.html
相關文章
- 使用exp進行SQL報錯注入SQL
- SQLMAP進階使用SQL
- sqlmap 進階 (一)SQL
- 使用微軟Detours庫進行DLL注入微軟
- sqlmap的使用SQL
- Sqlmap使用教程SQL
- C10-08-寬位元組注入-mysql注入之getshell-sqlmapMySql
- 關於 sqlmap 注入的疑惑,sqlmap 是如何拿到資料庫資料的呢?SQL資料庫
- sqlmap使用,配合BurpsuiteSQLUI
- sqlmap使用手冊SQL
- sql注入SQL
- SQL 注入SQL
- SQL 注入:聯合注入SQL
- sql注入之union注入SQL
- SQL隱碼攻擊 - sqlmap聯動burpsuite之burp4sqlmap++外掛SQLUI
- SQL隱碼攻擊:Sqlmap初體驗SQL
- SQL稽核 | 如何使用 SQLE 進行開發階段 SQL稽核SQL
- sql注入1SQL
- sql注入2SQL
- sql注入修改SQL
- 防止sql注入SQL
- sqlmap簡單使用方法SQL
- sqlmap使用者手冊SQL
- [譯]使用Go Cloud的Wire進行編譯時依賴注入GoCloud編譯依賴注入
- 如何使用PL/SQL進行分級查詢WPSQL
- sql注入——盲注SQL
- NSSCTF———Web(sql注入)WebSQL
- XSS 和 SQL 注入SQL
- sql注入之型別及提交注入SQL型別
- sql注入之堆疊注入及waf繞過注入SQL
- sqlmap使用者手冊[續]SQL
- Spring Boot無法對Service進行注入Spring Boot
- 使用SQL_TRACE進行資料庫診斷(轉)SQL資料庫
- SQLServer進行SQL跟蹤SQLServer
- SQL Server進行Crash RecoverySQLServer
- 二次注入(SQL)SQL
- pick靶場-sql注入SQL
- 如何有效防止sql注入SQL
- SQL MAP 注入測試SQL