• 修炼waf(二)


    接着我上一篇绕waf文章,这篇主要总结一下利用mysql数据库的注释来绕过waf

    首先介绍一下mysql数据库的注释符

    在MySQL里,多行解释 是 /* */,这个是SQL的标准 但是MySQL扩张了解释 的功能比如注释/**/在起头的/*后头加了!变成了/*!*/

    我们叫它为内联注释

    又比如我们在内联注释!后加50001变成了/*!50001*/,那么这又是什么意思呢?
    这里的50001表示的是 数据库是5.00.01以上版本,该语句才会被推行

    我们在绕waf过程中,在构造payload绕过的同时还要注意把我们预期的sql语句可以带入数据库顺利执行,那么我们看上述三种注释在mysql中的运行情况:

    可以看到我们在原先的select * from wy;基础上加上了注释符,它还会正常执行我们的sql语句

    当前测试数据库版本为5.5,所以我们/*!50001 select * from wy */; 可以顺利执行

    但/*!56001 select * from wy */; 不能顺利执行,原因就是我上面提到过的,这句要执行条件必须是数据库版本大于等于5.60.01,而我们当前版本为5.5

    所以不能成功执行

    了解了上面的东西后,我们便可以尝试使用注释符莱绕过waf了

    这里测试用的是3.0版本的安全狗

    payload如下:

     

  • 相关阅读:
    一致性哈系算法
    进程通信,线程通信,同步方式
    token的作用
    PHP与web 页面交互
    PHP !!
    Vue局部组件和全局组件
    vue父子组件之间的通信
    Spring Cloud 微服务架构学习笔记与示例
    feign中开启熔断的书写步骤
    使用springboot配置和注入数据源属性的方法和步骤
  • 原文地址:https://www.cnblogs.com/cn-36/p/6723688.html
Copyright © 2020-2023  润新知