欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Sqlmap注入技巧集錦

  發(fā)布時(shí)間:2014-07-29 10:15:13   作者:佚名   我要評論
sqlmap 是一個(gè)自動(dòng)SQL 射入工具。本文收集了一些利用Sqlmap做注入測試的TIPS,其中也包含一點(diǎn)繞WAF的技巧,便于大家集中查閱,歡迎接樓補(bǔ)充、分享。

TIP1

當(dāng)我們注射的時(shí)候,判斷注入

http://site/script?id=10 http://site/script?id=11-1 # 相當(dāng)于 id=10

http://site/script?id=(select 10) # 相當(dāng)于 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ù)庫都受到支持,是標(biāo)準(zhǔn)的SQL語句。 可以這樣子理解:CASE… WHEN… THEN …ELSE …END

CASE WHEN 語法有兩種情況: 第一種是CASE 后面不帶表達(dá)式的;

CASE WHEN expression THEN 操作1
WHEN expression THEN 操作2
.......
ELSE 操作n
END

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

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 # 當(dāng)條件為真的時(shí)候 http://host/script?id=11 # 當(dāng)條件為假的時(shí)候

可以很明顯的看到返回不同,然后可以判斷注入。那么怎么能讓sqlmap去識(shí)別呢? Sqlmap默認(rèn)是自己尋找注入點(diǎn)的,但是你加上一個(gè)*,可以引導(dǎo)他。 語句

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

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

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

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

sqlmap.py -r post.txt
 
繼續(xù)補(bǔ)充一點(diǎn): having xor等邏輯符號(hào)也可以判斷注入。

TIP2

POST注入

有兩種方法來進(jìn)行post注入,一種是使用

–data
參數(shù),將post的key和value用類似GET方式來提交。二是使用

-r
參數(shù),sqlmap讀取用戶抓到的POST請求包,來進(jìn)行POST注入檢測。

查看payload

之前一直是加本地代理,然后用burpsuit來看sqlmap的payload,到現(xiàn)在才發(fā)現(xiàn)用

-v
參數(shù)就可以實(shí)現(xiàn)。一直認(rèn)為

-v
實(shí)現(xiàn)的只是控制警告,debug信息級(jí)別。實(shí)際上使用

-v 3
就可以顯示注入的payload,4,5,6還可以顯示HTTP請求,HTTP響應(yīng)頭和頁面。

使用google搜索

sqlmap可以測試google搜索結(jié)果中的sql注入,很強(qiáng)大的功能吧。使用方法是參數(shù)

-g
。不過感覺實(shí)際使用中這個(gè)用的還是很少的。

請求延時(shí)

在注入過程中請求太頻繁的話可能會(huì)被防火墻攔截,這時(shí)候

–delay
參數(shù)就起作用了??梢栽O(shè)定兩次HTTP請求間的延時(shí)。有的web程序會(huì)在多次錯(cuò)誤訪問后屏蔽所有請求,這樣就導(dǎo)致之后所有的測試無法進(jìn)行,繞過這個(gè)策略可以使用

–safe-url
,每隔一段時(shí)間去訪問一個(gè)正常的頁面。

偽靜態(tài)頁面

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

*
來代替要測試的參數(shù)。

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

當(dāng)數(shù)據(jù)庫支持,并且當(dāng)前用戶有權(quán)限的時(shí)候,可以執(zhí)行系統(tǒng)命令,使用

–os-cmd
或者

–os-shell
,具體的講,當(dāng)可以執(zhí)行多語句的時(shí)候,會(huì)嘗試用UDF(MySQL,PostgrepSQL)或者xp_cmdshell(MSSQL)來執(zhí)行系統(tǒng)命令。不能執(zhí)行多語句時(shí),仍然會(huì)嘗試創(chuàng)建一個(gè)webshell來執(zhí)行語句,這時(shí)候就需要web的絕對路徑了。總體來說,成功率偏低,不過個(gè)人也有成功的經(jīng)驗(yàn)~

測試等級(jí)

sqlmap使用

–level
參數(shù)來進(jìn)行不同全面性的測試,默認(rèn)為1,不同的參數(shù)影響了使用哪些payload,2時(shí)會(huì)進(jìn)行cookie注入檢測,3時(shí)會(huì)進(jìn)行

useragent
檢測。

TIP3

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

相關(guān)文章鏈接《Sqlmap Tamper大全(1)》《SqlMap用戶手冊

相關(guān)文章

  • 網(wǎng)站被sql注入的修復(fù)方法

    近日,網(wǎng)站頻頻被黑。在網(wǎng)站里莫名其妙的多出一篇文 章,還有多出一組貼圖。正在納悶是誰可以登陸我的后臺(tái)發(fā)表文章和圖片的時(shí)候,我的qq彈出消息,一個(gè)陌生人給我發(fā)消息,
    2012-09-28
  • SQL通用防注入系統(tǒng)asp版漏洞

    今晚群里朋友叫看個(gè)站,有sql防注入,繞不過,但是有發(fā)現(xiàn)記錄wrong的文件sqlin.asp。
    2012-05-15
  • SQL注入及危害、防御手段的處理方法

    Structured Query Language即結(jié)構(gòu)化查詢語言,用于操作關(guān)系型數(shù)據(jù)庫管理系統(tǒng),本文給大家介紹SQL注入及危害、防御手段的處理方法,感興趣的朋友跟隨小編一起看看吧
    2022-10-10

最新評論