sqlmap tamper模塊

衆所周知,sqlmap中自帶有過waf的腳本以方便測試人員來測試,但我們實際用的並不是很多,而且瞭解也不多,故而整理一份出來,目前官方自帶了58個腳本,目前我的是。。。

space2mssqlblank.py:
將空格隨機替換爲其他空格符號,內有規則,默認是%01-%0f

select id from users-->select%02id%0efrom%09users

between.py
用NOT BETWEEN 0 AND 替換>

and a > b -- --> and a NOT BETWEEN 0 AND b--

sp_password.py
從T-SQL日誌的自動迷糊處理的有效載荷中追加sp_password

and 1=1--  --> and 1=1-- sp_password

charencode.py
對於payload全部字符進行url編碼,不處理已編碼字符,這裏順便說下一般在url編碼過waf的時候,我們會將payload來兩次全編碼,這樣對那些只解碼一次的waf還是有點殺傷力的。

and 1=1-- --> %61%6e%64%20%31%3d%31%2d%2d

randomcase.py
隨即大小寫

select --> sELecT

percentage.py
每個字符前加%

select id -->%s%e%l%e%c%t %i%d

charunicodeencode.py
字符串的unicode編碼

SELECT FIELD%20FROM TABLE --> %u0053%u0045%u004C%u0045%u0043%u0054%u0020%u0046%u0049%u0045%u004C%u0044%u0020%u0046%u0052%u004F%u004D%u0020%u0054%u0041%u0042%u004C%u0045

space2comment.py
空格替換爲/**/

and 1=1 --> and/**/1=1

equaltolike.py
將=替換爲like

and 1=1 -->and 1 LIKE 1

apostrophemask.py
將引號替換爲utf-8編碼,用於過濾單引號

AND '1'='1 --> AND %EF%BC%871%EF%BC%87=%EF%BC%871

我開始懶了,代碼示例要是不是很複雜我就不再舉例了阿

base64encode.py
payload進行base64編碼

multiplespaces.py
圍繞關鍵字添加幾個空格,這個用處不是太大,看看就行

space2plus.py
空格替換爲+號,sql語句中語句之間可以用+號連接起來的,故而空格可以此替換

nonrecursivereplacement.py
這個也用處並不大,主要雙寫查詢關鍵字,現在很雞肋

space2randomblank.py
替換空格爲有效字符%09 %0C %0D %0A

unionalltounion.py
將union all select去掉all,感覺很少用的

securesphere.py
追加特定字符串

and 1=1 --> and 1=1 and "xuanying"="xuanying"

space2dash.py
將空格用–代替,並且添加隨即字符串最後加換行符

equaltolike.py
greatest代替>號

and 2>1 -->and greatest(2,1+1)=2

ifnull2ifisnull.py
ifnull(a,b)替換爲IF(ISNULL(a),b,a)

IFNULL(1, 2) --> IF(ISNULL(1),2,1)

modsecurityversioned.py
衆所周知的內聯註釋模塊,不用多說了

space2mysqlblank.py
替換空格爲其他符號

modsecurityzeroversioned.py
還是內聯註釋,不過是從內聯註釋的隨機字符變爲0000

space2mysqldash.py
空格替換爲–後跟換行符

bluecoat.py
在payload的隨機空格處使用空白符號並且用LIKE替換=號

versionedkeywords.py
將payload中查詢語句用內聯註釋

1 UNION ALL SELECT NULL, NULL, CONCAT(CHAR(5,2) --> 1/*!UNION*//*!ALL*//*!SELECT*//*!NULL*/,/*!NULL*/, CONCAT(CHAR(5,2)

halfversionedmorekeywords.py
每一個關鍵字前添加mysql版本註釋

UNION --> /*!0UNION/

space2morehash.py
空格替換爲# 並且加隨機字符串後跟換行符

apostrophenullencode.py
非法雙字節unicode字符替換單引號

appendnullbyte.py
payload結束後加null編碼,null我記得默認爲0,所以最後加的基本就是%00

chardoubleencode.py
之前提到的兩次url編碼,可以對部分之解碼一次的waf無視

unmagicquotes.py
用一個多字節組合%bf%27和替換單引號並且末尾添加註釋符號–

randomcomments.py
使用/**/註釋來分割關鍵函數

累了,暫時到這吧,剩下的就下次一定吧,不早了要養生了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章