Sqlmap注入技巧收集(1)
來源:易賢網(wǎng) 閱讀:1069 次 日期:2015-09-24 15:20:56
溫馨提示:易賢網(wǎng)小編為您整理了“Sqlmap注入技巧收集(1)”,方便廣大網(wǎng)友查閱!

TIP1

當我們注射的時候,判斷注入

http://site/script?id=10

http://site/script?id=11-1 # 相當于 id=10

http://site/script?id=(select 10) # 相當于 id=10

http://site/script?id=10 and 1=1 #失敗

通過判斷可發(fā)現(xiàn)and和or被過濾

http://site/script?id=10– # 失敗

http://site/script?id=10;– #失敗

http://site/script?id=10);– #失敗

http://site/script?id=10)subquery;– #失敗

你可以用burp的intruder的字典跑,但是仍然失敗。

這里可以用到SQL語句的case when …then … else … end語句

CASE WHEN語句在DB2,ORACLE,SQL SERVER系列,SYBASE等大型數(shù)據(jù)庫都受到支持,是標準的SQL語句。

可以這樣子理解:CASE… WHEN… THEN …ELSE …END

CASE WHEN 語法有兩種情況:

第一種是CASE 后面不帶表達式的;

CASE WHEN expression THEN 操作1

WHEN expression THEN 操作2

.......

ELSE 操作n

END

第二種是CASE 后面帶表達式的(而此時WHEN 后面的則是該表達式可能的值),通用。

CASE expression

WHEN expression值1 THEN 操作1

WHEN expression值2 THEN 操作2

.......

ELSE 操作n

END

http://host/script?id=11-(case when 1=1 then 1 else 0 end)

用1=1跟1=2測試

http://host/script?id=10 # 當條件為真的時候

http://host/script?id=11 # 當條件為假的時候

可以很明顯的看到返回不同,然后可以判斷注入。那么怎么能讓sqlmap去識別呢?

Sqlmap默認是自己尋找注入點的,但是你加上一個*,可以引導(dǎo)他。

語句

sqlmap.py -u http://host/script?id=11-(case when 1=1星號 then 1)

注入最頭痛的就是遇到過濾,sqlmap提供了字符轉(zhuǎn)換的功能

“–tamper=between”當然自己可以改寫轉(zhuǎn)換內(nèi)容,文件在/tamper目錄下。

關(guān)于post注入 sqlmap可以用-r參數(shù) 加載數(shù)據(jù)包

sqlmap.py -r post.txt

繼續(xù)補充一點: having xor等邏輯符號也可以判斷注入。

TIP2

POST注入

有兩種方法來進行post注入,一種是使用--data參數(shù),將post的key和value用類似GET方式來提交。二是使用-r參數(shù),sqlmap讀取用戶抓到的POST請求包,來進行POST注入檢測。

查看payload

之前一直是加本地代理,然后用burpsuit來看sqlmap的payload,到現(xiàn)在才發(fā)現(xiàn)用-v參數(shù)就可以實現(xiàn)。一直認為-v實現(xiàn)的只是控制警告,debug信息級別。實際上使用-v 3就可以顯示注入的payload,4,5,6還可以顯示HTTP請求,HTTP響應(yīng)頭和頁面。

使用google搜索

sqlmap可以測試google搜索結(jié)果中的sql注入,很強大的功能吧。使用方法是參數(shù)-g。不過感覺實際使用中這個用的還是很少的。

請求延時

在注入過程中請求太頻繁的話可能會被防火墻攔截,這時候--delay參數(shù)就起作用了??梢栽O(shè)定兩次HTTP請求間的延時。有的web程序會在多次錯誤訪問后屏蔽所有請求,這樣就導(dǎo)致之后所有的測試無法進行,繞過這個策略可以使用--safe-url,每隔一段時間去訪問一個正常的頁面。

偽靜態(tài)頁面

有些web服務(wù)器進行了url rewrite或者網(wǎng)站是偽靜態(tài)的,無法直接提供測試參數(shù),這樣子可以使用*來代替要測試的參數(shù)。

執(zhí)行系統(tǒng)命令

當數(shù)據(jù)庫支持,并且當前用戶有權(quán)限的時候,可以執(zhí)行系統(tǒng)命令,使用--os-cmd或者--os-shell,具體的講,當可以執(zhí)行多語句的時候,會嘗試用UDF(MySQL,PostgrepSQL)或者xp_cmdshell(MSSQL)來執(zhí)行系統(tǒng)命令。不能執(zhí)行多語句時,仍然會嘗試創(chuàng)建一個webshell來執(zhí)行語句,這時候就需要web的絕對路徑了??傮w來說,成功率偏低,不過個人也有成功的經(jīng)驗~

測試等級

sqlmap使用--level參數(shù)來進行不同全面性的測試,默認為1,不同的參數(shù)影響了使用哪些payload,2時會進行cookie注入檢測,3時會進行useragent檢測。

TIP3

SQLMAP 項目官方WIKI(詳盡) 地址

更多信息請查看IT技術(shù)專欄

更多信息請查看數(shù)據(jù)庫
易賢網(wǎng)手機網(wǎng)站地址:Sqlmap注入技巧收集(1)
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇剩?/div>

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)