zoukankan      html  css  js  c++  java
  • 修炼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如下:

     

  • 相关阅读:
    git 的学习使用记录
    Servlet发送邮件遇到的问题SMTPSendFailedException 554
    如何高效地写CSS--等以后有空多加总结一下
    前端技术科技树梳理
    React了解
    读取Excel文件
    Eclipse不能自动编译 java文件
    破天荒地敲下第一篇
    SRM DIV2 569 TheDeviceDiv2
    SRM DIV2 570 RobotHerbDiv2
  • 原文地址:https://www.cnblogs.com/cn-36/p/6723688.html
Copyright © 2011-2022 走看看