SQLi LABS Less-26

简介: 第26关使用GET请求提交参数,我们可以直接在url地址栏中构造payload源码中过滤了or,and,/*,#,--,空格,斜线,需要想办法绕过

第26关使用GET请求提交参数,我们可以直接在url地址栏中构造payload


源码中过滤了or,and,/*,#,--,空格,斜线,需要想办法绕过


image.png   过滤了注释(#,--),我们可以不用注释,使用单引号闭合,使SQL语法结构成立


过滤了空格,我们可以使用括号()来代替空格


在url地址栏中输入payload 1'anandd'1,正常显示;输入 1'anandd'0时,空显示;说明用户输入的参数可以使SQL恒成立或恒不成立从而影响SQL的执行结果,即存在注入,注入点为单引号字符型注入


源码中的SQL如下


image.png


当我们输入1'anandd'1时,后端过滤掉and和空格后拼接的SQL是这样


image.png


and后面的'1'会转换为true,使SQL恒成立,可以正常查询处用户数据并显示到页面


image.png



当我们输入1'anandd'0时,后端过滤掉and和空格后,拼接的SQL是下面这样


image.png


and后面的'0'会转化为false,使SQL恒不成立,SQL查询不到用户的数据,会在页面显示为空

image.png

确认了注入点后,我们就可以使用报错注入进行脱库了,由于源码中过滤了空格,需要将payload中的空格替换为括号()

1' aandnd(updatexml(1,concat(0x7e,
(select(group_concat(schema_name))from(infoorrmation_schema.schemata))
),1))aandnd'

image.png

相关文章
|
6月前
|
安全 数据库 数据安全/隐私保护
sqli-labs第一关
sqli-labs第一关
|
SQL 数据库
SQLi LABS Less-26a
第26a关使用GET请求传递参数,在url地址栏中构造payload即可 源码中过滤了参数中的or,and,/*,--,#,空格,斜线,我们想办法绕过即可
322 0
SQLi LABS Less-26a
|
数据库 数据安全/隐私保护
SQLi LABS Less-19
第19关使用POST请求提交参数,后端对用户名和密码进行了特殊字符转译,难度较大源码如下
178 0
SQLi LABS Less-19
|
SQL 数据库 数据安全/隐私保护
SQLi LABS Less-16
第16关使用POST请求提交参数,可以使用代理工具抓包或直接在输入框中修改参数 后端代码根据用户输入账号和密码去数据库中查询,查询成功则返回登录成功,否则返回登录失败,页面没有显示的数据,SQL语句中使用了错误抑制符@来限制数据库的报错信息,因此不能使用联合注入或报错注入,推荐使用布尔盲注,源码如下
149 0
SQLi LABS Less-16
SQLi LABS Less-31
第31关的源码中并未对参数做过多的过滤,只是在参数两边拼接了双引号和括号
152 0
SQLi LABS Less-31
|
SQL 数据库
SQLi LABS Less-27a
第27关使用GET请求提交参数,在url地址栏中构造payload即可 后端源码中过滤了/*,--,#,空格,select,union,需要考虑一下怎么绕过这些规则
180 0
SQLi LABS Less-27a
SQLi LABS Less-30
第30关使用GET请求传递参数,在url中构造payload即可 后端源码中并没有做什么过滤,只是在参数两边添加了双引号
141 0
SQLi LABS Less-30
|
SQL 存储 安全
SQLi LABS Less-39
第三十九关请求方式为GET请求 , 注入类型为 整形注入 第一步,判断注入类型
110 0
SQLi LABS Less-39
|
SQL 安全 数据库
SQLi LABS Less-18
第十八关请求方式为 GET请求 , 注入点为 User-Agent , 注入方式为 错误注入 第一步,判断注入方式
195 0
SQLi LABS Less-18
|
SQL 安全 数据库
SQLi LABS Less-17
第十七关请求方式为POST请求 , 注入点为 单引号字符型注入 , 注入方式为 报错注入 第一步,判断注入类型
169 0
SQLi LABS Less-17