SQLi LABS Less-29

简介: 第29关使用GET请求提交参数,在url中构造payload即可源码中并没有做什么过滤,直接测试注入点即可

第29关使用GET请求提交参数,在url中构造payload即可


源码中并没有做什么过滤,直接测试注入点即可

image.png

在url中输入 1'and true-- a,源码中的SQL会拼接成下面这样


image.png

注释后面的内容不起作用,所以真正执行的SQL是这样的


image.png

and后面的true会使SQL恒成立,SQL正常查询出用户内容,并在页面显示出来

image.png

接下来再输入 1'and false-- a,参数拼接到SQL中是下面这样的

image.png

由于注释后面的内容不起作用 ,所以真正执行的SQL应该是这样的

image.png

and后面的false使SQL恒不成立,SQL查不出用户信息,从而导致页面空显示

image.png

用户的参数能够使SQL恒成立或恒不成立,从而控制SQL执行的结果,由此可知存在SQL注入,注入类型为单引号字符型注入,页面有显示位,我们可以使用联合注入进行脱库

-1' union select 1,2,
(select group_concat(schema_name)from information_schema.schemata)
-- a
  • 因为用户id不为负数,这里id写成-1会导致查询不到用户信息,从而展示后面联合查询的结果
  • group_concat()用来将多行结果合并成一行,并使用逗号分隔

image.png

相关文章
SQLi LABS Less-25a
第25a关使用GET请求传递参数,在url地址栏中构造payload即可 后端源码中过滤了and和or,但只过滤了一次,我们可以通过双写绕过
182 0
SQLi LABS Less-25a
|
数据库 数据安全/隐私保护
SQLi LABS Less-19
第19关使用POST请求提交参数,后端对用户名和密码进行了特殊字符转译,难度较大源码如下
142 0
SQLi LABS Less-19
SQLi LABS Less-31
第31关的源码中并未对参数做过多的过滤,只是在参数两边拼接了双引号和括号
118 0
SQLi LABS Less-31
SQLi LABS Less-30
第30关使用GET请求传递参数,在url中构造payload即可 后端源码中并没有做什么过滤,只是在参数两边添加了双引号
116 0
SQLi LABS Less-30
|
SQL 数据库
SQLi LABS Less-26a
第26a关使用GET请求传递参数,在url地址栏中构造payload即可 源码中过滤了参数中的or,and,/*,--,#,空格,斜线,我们想办法绕过即可
272 0
SQLi LABS Less-26a
SQLi LABS Less-27
第27关使用GET请求传递参数,在url中构造payload即可 源码中过滤了/*,--,#,空格,select,union,需要考虑一下怎么绕过这些规则
278 0
SQLi LABS Less-27
SQLi LABS Less-23
第23关使用GET请求传递参数,在url地址栏构造payload即可 此关卡对注释符号进行了过滤,因此不能使用注释符,可以使用单引号闭合,使SQL的语法结构成立
114 0
SQLi LABS Less-23
|
SQL 数据库 数据安全/隐私保护
SQLi LABS Less-22
2关使用POST请求提交参数,对账号和密码中的特殊字符执行了转译的操作,难度较大
SQLi LABS Less-22
|
SQL 数据库 数据安全/隐私保护
SQLi LABS Less-21
21关使用POST请求提交参数,对用户名和密码中的特殊字符进行了转译,难度较大
136 0
SQLi LABS Less-21
|
SQL 安全 数据库
SQLi LABS Less-17
第十七关请求方式为POST请求 , 注入点为 单引号字符型注入 , 注入方式为 报错注入 第一步,判断注入类型
131 0
SQLi LABS Less-17