Ⅰ 使用sqlmap怎麼檢測不出漏洞來
1,換個軟體檢測呢
2,裝個電腦管家在你電腦上面
3,再去通過工具箱的修復漏洞功能,去修復一下就行了
Ⅱ 判斷sqlmap對網站是否可以直接拿
不可以
這是一個危險網站貿然進入可能會被網站的防禦系統攻擊
Ⅲ 用sqlmap注入秒被封ip怎麼辦網站掃到了注入
1、首先是burp設置記錄log 2、把記錄的log文件放sqlmap目錄下 3、sqlmap讀log自動測試: python sqlmap.py -l 文件名 --batch -smart batch:自動選yes。 smart:啟發式快速判斷,節約時間。 4、最後能注入的url會保存到out文件夾下。
Ⅳ 如何使用sqlmap掃描app
1.burpsuite配合sqlmap批量掃描注入點,首先設置burp的記錄日誌,圖1。我放在了sqlmap的目錄下,在這里叫sqlmap.txt
burpsuite工具和jdk下載地址:點擊下載
2.在burp和手機上設置好代理如下圖。(須在同一區域網)
4.sqlmap讀取日誌自動測試:
D:\Python27\sqlmap>sqlmap.py -l sqlmap.txt --batch -smart
Batch:會自動選擇yes
Smart:啟發式快速判斷,節約時間。
window版的sqlmap最後能注入的URL都會保存到C:\Users\Administrator\.sqlmap文件夾下。
Ⅳ sqlmap 錯誤,不知道怎麼回事,掃描不了
你好朋友你可以用360安全衛士全面體檢修復,修復後就可以正常。
Ⅵ sqlmap 可以對整個網站 掃描么
1、首先是burp設置記錄log
2、把記錄的log文件放sqlmap目錄下
3、sqlmap讀log自動測試:
python sqlmap.py -l 文件名 --batch -smart
batch:自動選yes。
smart:啟發式快速判斷,節約時間。
4、最後能注入的url會保存到out文件夾下。
Ⅶ 沒有網站絕對路徑,怎麼sqlmap提權
你應該是線程同步的問題,使用MFC或者windows線程同步,有信號量,互斥量,臨界區,事件等,你可以使用全局變數,消息本質還是生成了新的線程
自定義消息方法
在頭文件聲明
#define MYMSG (WM_USER+1)//隨便填,但是要大於WM_USER
在頭文件聲明消息響應函數
afx_msg LRESULT MyMsg(WPARAM wParam,LPARAM lParam);
在對應cpp文件加入消息注冊
然後再cpp文件實現消息響應函數
某個地方要發送該消息,先獲取到消息響應函數對象指針,然後發消息
比如主框架
((CMainFrame*)AfxGetMainWnd())->SendMessage(MYMSG);
後邊兩個參數根據實現需要添加
Ⅷ 有些sqlmap的問題想請教下,比如為什麼我的sqlmap連接失敗
CSDN博客
taozpwater
sqlmap簡介
發表於2014/3/30 23:22:13 2092人閱讀
分類: 安全學習 工具學習
1、簡介
sqlmap是一個自動化的SQL注入工具,其主要功能是掃描,發現並利用給定的URL的SQL注入漏洞,目前支持的資料庫是MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase和SAP MaxDB。採用五種獨特的SQL注入技術,分別是:
1)基於布爾的盲注,即可以根據返回頁面判斷條件真假的注入。
2)基於時間的盲注,即不能根據頁面返回內容判斷任何信息,用條件語句查看時間延遲語句是否執行(即頁面返回時間是否增加)來判斷。
3)基於報錯注入,即頁面會返回錯誤信息,或者把注入的語句的結果直接返回在頁面中。
4)聯合查詢注入,可以使用union的情況下的注入。
5)堆查詢注入,可以同時執行多條語句的執行時的注入。
Ⅸ 怎麼判斷網站資料庫是不是MySQL 用sqlmap怎麼爆後台帳戶名和密碼 怎麼手工爆
注入語句如下:
Username: jonnybravo』 or 1=1; –
該注入語句要做的就是從資料庫查詢用戶jonnybravo,獲取數據後立刻終止查詢(利用單引號),之後緊接著一條OR語句,由於這是一條「if狀態」查詢語句,而且這里給出 「or 1=1」,表示該查詢永遠為真。1=1表示獲取資料庫中的所有記錄,之後的;–表示結束查詢,告訴資料庫當前語句後面沒有其它查詢語句了。
圖1 正常方式查看用戶信息
將payload注入後,伺服器泄露了資料庫中的所有用戶信息。如圖2所示:
圖2 注入payload導致資料庫中所有數據泄露
至此,本文向讀者演示了一種基本SQL注入,下面筆者用BackTrack和Samurai 等滲透測試發行版中自帶的SQLmap工具向讀者演示。要使用SQLmap,只需要打開終端,輸入SQLmap並回車,如下圖所示:
如果讀者首次使用SQLmap,不需要什麼預先操作。如果已經使用過該工具,需要使用—purge-output選項將之前的輸出文件刪除,如下圖所示:
圖3 將SQLmap output目錄中的原輸出文件刪除
本文會演示一些比較獨特的操作。通常人們使用SQLmap時會直接指定URL,筆者也是用該工具分析請求,但會先用Burp查看請求並將其保存到一個文本文件中,之後再用SQLmap工具調用該文本文件進行掃描。以上就是一些准備工作,下面首先就是先獲取一個請求,如下所示:
GET /chintan/index.php?page=user-info.php&username=jonnybravo&password=momma&user-info-php-submit-button=View+Account+Details HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:27.0) Gecko/20100101 Firefox/27.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://localhost/chintan/index.php?page=user-info.php
Cookie: showhints=0; username=jonnybravo; uid=19; PHPSESSID=f01sonmub2j9aushull1bvh8b5
Connection: keep-alive
將該請求保存到一個文本文件中,之後發送到KALI linux中,用如下命令將該請求頭部傳給SQLmap:
SQLmap –r ~/root/Desktop/header.txt
Self-Critical Evaluation
命令中-r選項表示要讀取一個包含請求的文件,~/root/Desktop/header.txt表示文件的位置。如果讀者用VMware,例如在Windows上用虛擬機跑KALI,執行命令時可能產生如下圖所示的錯誤提示:
這里必須在請求頭中指定一個IP地址,使KALI linux能與XP正常通信,修改如下圖所示:
之後命令就能正常執行了,顯示結果如下圖所示:
基本上該工具做的就是分析請求並確定請求中的第一個參數,之後對該參數進行各種測試,以確定伺服器上運行的資料庫類型。對每個請求,SQLmap都會對請求中的第一個參數進行各種測試。
GET /chintan/index.php?page=user-info.php&username=jonnybravo&password=momma&user-info-php-submit-button=View+Account+Details HTTP/1.1
SQLmap可以檢測多種資料庫,如MySQL、Oracle SQL、PostgreSQL、Microsoft SQL Server等。
下圖是筆者系統中SQLmap正在對指定的請求進行檢測時顯示的資料庫列表:
首先它會確定給定的參數是否可注入。根據本文演示的情況,我們已經設置OWASP mutillidae的安全性為0,因此這里是可注入的,同時SQLmap也檢測到後台資料庫DBMS可能為MYSQL。
如上圖所示,工具識別後台資料庫可能為MYSQL,因此提示用戶是否跳過其它類型資料庫的檢測。
「由於本文在演示之前已經知道被檢測資料庫是MYSQL,因此這里選擇跳過對其它類型資料庫的檢測。」
之後詢問用戶是否引入(include)測試MYSQL相關的所有payload,這里選擇「yes」選項:
測試過一些payloads之後,工具已經識別出GET參數上一個由錯誤引起的注入問題和一個Boolean類型引起的盲注問題。
之後顯示該GET參數username是一個基於MYSQL union(union-based)類型的查詢注入點,因此這里跳過其它測試,深入挖掘已經找出的漏洞。
至此,工具已經識別出應該深入挖掘的可能的注入點:
接下來,我把參數username傳遞給SQLmap工具,以對其進行深入挖掘。通過上文描述的所有注入點和payloads,我們將對username參數使用基於Boolean的SQL盲注技術,通過SQLmap中的–technique選項實現。其中選擇如下列表中不同的選項表示選用不同的技術:
B : 基於Boolean的盲注(Boolean based blind)
Q : 內聯查詢(Inline queries)
T : 基於時間的盲注(time based blind)
U : 基於聯合查詢(Union query based)
E : 基於錯誤(error based)
S : 棧查詢(stack queries)
本例中也給出了參數名「username」,因此最後構造的命令如下:
SQLmap –r ~root/Desktop/header.txt – -technique B – -p username – -current-user
這里-p選項表示要注入的參數,「–current-user「選項表示強制SQLmap查詢並顯示登錄MYSQL資料庫系統的當前用戶。命令得到輸出如下圖所示:
同時也可以看到工具也識別出了操作系統名,DBMS伺服器以及程序使用的編程語言。
「」當前我們所做的就是向伺服器發送請求並接收來自伺服器的響應,類似客戶端-伺服器端模式的交互。我們沒有直接與資料庫管理系統DBMS交互,但SQLmap可以仍識別這些後台信息。
同時本次與之前演示的SQL注入是不同的。在前一次演示SQL注入中,我們使用的是前綴與後綴,本文不再使用這種方法。之前我們往輸入框中輸入內容並等待返回到客戶端的響應,這樣就可以根據這些信息得到切入點。本文我們往輸入框輸入永遠為真的內容,通過它判斷應用程序的響應,當作程序返回給我們的信息。「
結果分析
我們已經給出當前的用戶名,位於本機,下面看看它在後台做了什麼。前文已經說過,後台是一個if判斷語句,它會分析該if查詢,檢查username為jonnybravo且7333=7333,之後SQLmap用不同的字元串代替7333,新的請求如下:
page=user-info.php?username=』jonnybravo』 AND 『a』='a』 etc..FALSE
page=user-info.php?username=』jonnybravo』 AND 『l』='l』 etc..TRUE
page=user-info.php?username=』jonnybravo』 AND 『s』='s』 etc..TRUE
page=user-info.php?username=』jonnybravo』 AND 『b』='b』 etc..FALSE
如上所示,第一個和最後一個查詢請求結果為假,另兩個查詢請求結果為真,因為當前的username是root@localhost,包含字母l和s,因此這兩次查詢在查詢字母表時會給出包含這兩個字母的用戶名。
「這就是用來與web伺服器驗證的SQL server用戶名,這種情況在任何針對客戶端的攻擊中都不應該出現,但我們讓它發生了。」
去掉了–current-user選項,使用另外兩個選項-U和–password代替。-U用來指定要查詢的用戶名,–password表示讓SQLmap去獲取指定用戶名對應的密碼,得到最後的命令如下:
SQLmap -r ~root/Desktop/header.txt --technique B -p username -U root@localhost --passwords
命令輸出如下圖所示:
Self-Critical Evaluation
有時可能沒有成功獲取到密碼,只得到一個NULL輸出,那是因為系統管理員可能沒有為指定的用戶設定認證信息。如果用戶是在本機測試,默認情況下用戶root@localhost是沒有密碼的,需要使用者自己為該用戶設置密碼,可以在MySQL的user數據表中看到用戶的列表,通過雙擊password區域來為其添加密碼。或者可以直接用下圖所示的命令直接更新指定用戶的密碼:
這里將密碼設置為「sysadmin「,這樣SQLmap就可以獲取到該密碼了,如果不設置的話,得到的就是NULL。
通過以上方法,我們不直接與資料庫伺服器通信,通過SQL注入得到了管理員的登錄認證信息。
總結
本文描述的注入方法就是所謂的SQL盲注,這種方法更繁瑣,很多情況下比較難以檢測和利用。相信讀者已經了解傳統SQL注入與SQL盲注的不同。在本文所處的背景下,我們只是輸入參數,看其是否以傳統方式響應,之後憑運氣嘗試注入,與之前演示的注入完全是不同的方式。