要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码。

我一开始就准备等我一些原理篇总结完了,我就开始弄这个,毕竟这个里面涉及到的 SQL 注入知识很全,我贴一个下载地址:Sqli labs系列下载地址

对了还有我这个系列的头顶图,那个图是某个低调群的活跃用户装X墙,纯属装 X ,娱乐着玩了,大家别当真哈。

开了正文开始了!

首先我们先开始第一关,然后构造下注入环境,也就是在 http://127.0.0.1/sqli-labs-master/Less-1/ 这个后面加入 inderx.php?id=1 ,当然我们也可以直接加 ?id=1 因为变量就是 id =1 ,只要有变量就行。

下面开始添加 。

添加后,是不是就出来数据了,那么我们就可以开始构造注入语句了。

常规的,我先在 id=1 后面输入 and 1=1 来进行判断是否会显示正确。

结果很明显,显示正确,那我就开始输入 and 1=2 进行显错测试。

结果没有显错,我就开始纳闷了,我先构造了下,可能是的SQL语句。

然后我开始输入 ' 这个点符号,让它报错,我进行思考。

对于我一直玩这个来说,报错的一看,我就知道原因出在哪了,但是大家可能没看出来,那我就换个报错符号,用 \ 这个来代替 ' 。

我们把报错信息,复制到我们的新建文本里,进行分析。

看到这里,不知道大家能看出来不能,我先猜想一下,他的 SQL 语句应该是这样的。

关于后面的 line 1 这个就是个逐字查看的,我们先不分析这个,只分析如何才能注入。

好了我再把上面的那个报错的 SQL 语句给拆分下,这样大家都能直接看懂。

我在贴一个。

看出来了没?是不是参数被强制转成字符串?我们只要把这个 ' 给前后闭合了,不就可以进行查询了?

在这里,大家肯定想的是注释掉后面的不就行了?对了,注释掉就行。不过由于我是经常玩的,我就直接想开两个方法,一个是闭合,一个是注释。

第一个是闭合,第二个是 -- 注释,对了,两个杠后面必须有个空格才能起到注释的效果,不过我一般都是用 + 来替换空格, --+ ,就这样的注释。

好了我们开始测试第一个闭合法,看看行不行。

and 1=1 ,显示正确,那我再测试 and 1=2 。

好的,如我所想,报错了。

再测试下,注释法。

and 1=1 显示正常,再测试 and 1=2 。

显示错误了,那么这基本上就可以开始我的 SQL 注入大法了!

我要开始注入了!!!

首先先判断字段数,我一开始是用的 order by 这个查询的,结果查了100个了还不报错,那就说明这个失败了,我只能用 union select 这个方法查了,我查了一共有3个字段数。

然后我开始让它报错,在 union select 前面加上 and 1=2 ,促使它报错。

然后开始开始查询库名,版本号,用户。

用户。

库名。

版本号。

由于是5.0以上,我们可以直接查询。

我先把当前库名转码下。

然后开始爆出全部的表名。

我选中了 users 这个表名,继续转码。

然后开始爆该表名下的所有列名。

我直接选择了两个,开始直接爆数据。

结果啥都没出来,还报错了。。。。。。

然后我看到报错提示后,果断换 注释法,注释掉后面的。。。。

好了,成功爆出数据。

好了第一关,我过关了。

总结:

我知道我第一关写的很详细,不过60多光,我肯定是写不完了,我玩这个在没事的时候,玩玩,玩了我就直接写第二贴。还有如果对我下面的攻击语句有点陌生的话,可以查看本专栏下的 MySQL 数据库 SQL 注入攻击原理分析,进行学习。

地址: mysql注入篇

Sqli labs系列-less-1 详细篇的更多相关文章

  1. Sqli labs系列-less-2 详细篇

    就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...

  2. Sqli labs系列-less-3 。。。

    原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...

  3. Sqli labs系列-less-5&6 报错注入法(下)

    我先输入 ' 让其出错. 然后知道语句是单引号闭合. 然后直接 and 1=1 测试. 返回正常,再 and 1=2 . 返回错误,开始猜表段数. 恩,3位.让其报错,然后注入... 擦,不错出,再加 ...

  4. Sqli labs系列-less-5&6 报错注入法(上)

    在我一系列常规的测试后发现,第五关和第六关,是属于报错注入的关卡,两关的区别是一个是单引号一个是双引号...当然我是看了源码的.... 基于报错注入的方法,我早就忘的差不多了,,,我记的我最后一次基于 ...

  5. Sqli labs系列-less-4 这关好坑!!!

    这章,可能我总结开会比较长,图比较多,因为,我在做了一半,走进了一个死胡同,脑子,一下子没想开到底为啥.... 然后我自己想了好长时间也没想开,我也不想直接就去看源码,所以就先去百度了一下,结果一下子 ...

  6. JS组件系列——Bootstrap组件福利篇:几款好用的组件推荐(二)

    前言:上篇 JS组件系列——Bootstrap组件福利篇:几款好用的组件推荐 分享了几个项目中比较常用的组件,引起了许多园友的关注.这篇还是继续,因为博主觉得还有几个非常简单.实用的组件,实在不愿自己 ...

  7. Java 集合系列 10 Hashtable详细介绍(源码解析)和使用示例

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  8. HBase之CF持久化系列(续3——完结篇)

    相信大家在看了该系列的前两篇文章就已经对其中的持久化有比较深入的了解.相对而言,本节内容只是对前两节的一个巩固.与持久化相对应的是打开文件并将其内容读入到内存变量中.而在本节,我就来介绍这一点. 本节 ...

  9. 【公众号系列】超详细SAP HANA JOB全解析

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[公众号系列]超详细SAP HANA JOB全解 ...

随机推荐

  1. I2C_24c02实验

    一.RCC初始化 /* Setup the microcontroller system. Initialize the Embedded Flash Interface, initialize th ...

  2. PCB一些设置记录

    开始时设置原点,编辑>>原点>>设置 画PCB时,导入后,根据各个模块放好位置 设计>>类>>添加电源类 设计>>规则>>Cle ...

  3. POJ 3468 A Simple Problem with Integers(线段树区间修改及查询)

    Description You have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. On ...

  4. Jetson Nano系列教程0:初识Jetson Nano

    关于Jetson Nano Developer Kit Jetson nano搭载四核Cortex-A57 MPCore 处理器,采用128 核 Maxwell™  GPU.支持JetPack SDK ...

  5. <自动化测试>之<selenium API 用法2>

    不知道之前的selenium API 用法1,有没有去练习, 个人认为线性代码还是要靠敲的, 后面的模块化除了多敲还需要一定的编程思想去理解, 今天下午不是很忙就给来这儿补充点selenium api ...

  6. http常见状态码及其解析

    HTTP状态码常见状态码及其解析 状态码 状态码英文名称 中文描述 100 Continue 继续.客户端应继续其请求 101 Switching Protocols 切换协议.服务器根据客户端的请求 ...

  7. 树的重心(DFS)

    ;vector< ; i < v[node].size() ; i++){ , ; i <= n- ; i++){ cin >> a >> b; v[a].p ...

  8. 使用org-mode写cnblogs博客

    使用org-mode写cnblogs博客 */--> pre.src {background-color: #002b36; color: #839496;} pre.src {backgrou ...

  9. el-form-item内容过多,及弹窗框宽度属性show-overflow-tooltip设置

    内容过多: :show-overflow-tooltip=true 宽度属性设置: .el-tooltip__popper{ max-width:30% }

  10. 从一个url地址到最终页面渲染完成,发生了什么?

    从一个url地址到最终页面渲染完成,发生了什么? 1.DNS 解析 : 将域名地址解析为IP地址 浏览器DNS缓存 系统DNS缓存 路由器DNS缓存 网络运营商DNS缓存 递归搜索: www.baid ...