码迷,mamicode.com
首页 > 数据库 > 详细

sqli-labs(38)

时间:2019-06-01 17:46:59      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:mic   频繁   where   区别   mes   数据   database   font   存储   

0X01

?id=1 and 1=1%23 正确   
?id=1‘ and 1=2%23 错误

存在注入

0x1 堆叠注入讲解

(1)前言

  国内有的称为堆查询注入,也有称之为堆叠注入。个人认为称之为堆叠注入更为准确。堆叠注入为攻击者提供了很多的攻击手段,通过添加一个新 的查询或者终止查询,可以达到修改数据和调用存储过程的目的。这种技术在SQL注入中还是比较频繁的。

(2)原理介绍

  在SQL中,分号(;)是用来表示一条sql语句的结束。试想一下我们在 ; 结束一个sql语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入。而union injection(联合注入)也是将两条语句合并在一起,两者之间有什么区别么?区别就在于union 或者union all执行的语句类型是有限的,可以用来执行查询语句,而堆叠注入可以执行的是任意的语句

例子:

 

select * from student whereid=1;create table test;
当执行查询后,第一条显示查询信息,第二条则创建一个test表。

 

0x2 msyql数据库实例介绍

(1)查询数据的同时再新建一个表

 

select * from users where  id =2;create table zhong like student;
这里加入like是复制student的表结构

 

技术图片

 

 

 技术图片

(2)查询数据的同时再删除zhong表

技术图片

0x3简单小结

   这样一来我们可以利用堆叠注入进行增删改查等操作,但对于各个数据库(mysql,sqlserver,oracle)等,除oracle不允许外,其他操作可行性同样,(具体其他实例可以参考:https://www.cnblogs.com/0nth3way/articles/7128189.html)

0x4开始注入  

 

id=-1 union select 1,database(),3;insert into users values(18,zhong,zhong)%23

 

技术图片

 

 技术图片

 

sqli-labs(38)

标签:mic   频繁   where   区别   mes   数据   database   font   存储   

原文地址:https://www.cnblogs.com/-zhong/p/10960320.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!