• 【网络空间安全】SQL注入检测绕过


    大小写绕过

    拦截了union,那就使用Union UnIoN

    编码绕过

    WAF检测关键字,用%55也就是U的16进制编码来代替U,union写成%55nION,结合大小写也可以绕过一些WAF

    注释绕过

    使用于WAF只是过滤了一次危险的语句,而没有阻断整个查询

    /?id=1+union+select +1,2,3/*
    

    对于这条查询,WAF过滤了一次union和select,在之前再写一个注释语句,让他把注释里面的过滤掉,并不影响我们正常查询
    绕过语句:

    /?id=1/*union*/union/*select/select+1,2,3/*
    

    分隔重写绕过

    适用于那种WAF采用了正则表达式的情况,会检测所有的敏感字

    /?id=1+un/**/ion+sel/**/ect+1,2,3-
    

    至于重写绕过,适用于WAF过滤了一次的情况,和我们上传aaspsp码的原理一样,可以写成Ununionion,过滤一次还有一次

    /?id=1 ununionion select 1,2,3-
    

    同功能函数替换

    Substring() 可以用 mid(), substr() 这些函数来替换,都是用来取字符串的某一位字符的

    Ascii() 编码可以用 hex() , bin() 也就是用16进制和二进制编码替换

    时间盲注中的Benchmark() 可以用sleep() 来替换


    SQLMap中有一个tamper目录,主要存放的是waf绕过脚本,比如:base64encode.py、between.py、greatest.py【存在于usr/share/sqlmap/tamper目录下】


    等号被过滤 equaltolike.py() like代替等号

    example:
    *Input : select* from users where id = 1
    *output : select * from users where id like 1
    

    替换字符和单引号被过滤 apostrophenullencode.py()

    example:
    ("1 and '1' ='1""1 and %00%271%00%27 = %00%271"
    
    让对手感动,让对手恐惧
  • 相关阅读:
    fatal: unable to auto-detect email address (got 'tim@newton.(none)')的解决方法
    使用git命令提示“不是内部或外部命令
    Windows系统下安装 CMake
    php与mysql的连接
    array_merge和加号的区别
    可重入锁的实现
    redis scan
    redis主丛,哨兵和集群的区别
    高并发架构系列:Redis并发竞争key的解决方案详解
    laravel上传图片
  • 原文地址:https://www.cnblogs.com/RokoBasilisk/p/11780361.html
Copyright © 2020-2023  润新知