Sqli labs系列-less-1 详细篇
要说 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 详细篇的更多相关文章
- Sqli labs系列-less-2 详细篇
就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...
- Sqli labs系列-less-3 。。。
原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...
- Sqli labs系列-less-5&6 报错注入法(下)
我先输入 ' 让其出错. 然后知道语句是单引号闭合. 然后直接 and 1=1 测试. 返回正常,再 and 1=2 . 返回错误,开始猜表段数. 恩,3位.让其报错,然后注入... 擦,不错出,再加 ...
- Sqli labs系列-less-5&6 报错注入法(上)
在我一系列常规的测试后发现,第五关和第六关,是属于报错注入的关卡,两关的区别是一个是单引号一个是双引号...当然我是看了源码的.... 基于报错注入的方法,我早就忘的差不多了,,,我记的我最后一次基于 ...
- Sqli labs系列-less-4 这关好坑!!!
这章,可能我总结开会比较长,图比较多,因为,我在做了一半,走进了一个死胡同,脑子,一下子没想开到底为啥.... 然后我自己想了好长时间也没想开,我也不想直接就去看源码,所以就先去百度了一下,结果一下子 ...
- JS组件系列——Bootstrap组件福利篇:几款好用的组件推荐(二)
前言:上篇 JS组件系列——Bootstrap组件福利篇:几款好用的组件推荐 分享了几个项目中比较常用的组件,引起了许多园友的关注.这篇还是继续,因为博主觉得还有几个非常简单.实用的组件,实在不愿自己 ...
- Java 集合系列 10 Hashtable详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- HBase之CF持久化系列(续3——完结篇)
相信大家在看了该系列的前两篇文章就已经对其中的持久化有比较深入的了解.相对而言,本节内容只是对前两节的一个巩固.与持久化相对应的是打开文件并将其内容读入到内存变量中.而在本节,我就来介绍这一点. 本节 ...
- 【公众号系列】超详细SAP HANA JOB全解析
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[公众号系列]超详细SAP HANA JOB全解 ...
随机推荐
- VS2014:"64位调试操作花费的时间比预期要长",无法运行调试解决办法
解决步骤: 右键管理员运行命令提示符,输入IISRESERT,重启IIS即可
- Golang 开发技能图谱
# Golang 开发技能图谱 ## Go 语言环境搭建- Go 安装- GOPATH 与工作空间- Go 命令- Go开发工具 ## GO 语言编程基础- 关键词和语法(Language Synta ...
- MySQL strcmp 函数
STRCMP(str1, str2) 比较两个字符串,如果这两个字符串相等返回0,如果第一个参数是根据当前的排序小于第二个参数顺序返回-1,否则返回1. mysql> SELECT STRCMP ...
- 77、tensorflow手写识别基础版本
''' Created on 2017年4月20日 @author: weizhen ''' #手写识别 from tensorflow.examples.tutorials.mnist import ...
- css3水平垂直居中(不知道宽高同样适用)
css水平垂直居中 第一种方法: 在父div里加: display: table-cell; vertical-align: middle; text-align: center; 内部div设置: ...
- Java继承和构造函数
构造函数不是类的成员,它们不是由子类继承的.它们用于初始化实例变量. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 class CSuper { public ...
- The Accomodation of Students HDU - 2444 二分图判定 + 二分图最大匹配 即二分图-安排房间
/*655.二分图-安排房间 (10分)C时间限制:3000 毫秒 | C内存限制:3000 Kb题目内容: 有一群学生,他们之间有的认识有的不认识.现在要求把学生分成2组,其中同一个组的人相互不认 ...
- Python 字符串常用判断函数
判断字符串常用函数: S代表某字符串 S.isalnum() 所有字符都是数字或字母,为真返回Ture,否则返回False S.isalha() 所有字符都是字母,为真返回Ture,否则返回 ...
- bootstrap学习(五)代码
内联代码: <code>public static</code>void main 用户输入: to edit setting,press <kbd><kbd ...
- vue对象侦测
http://blog.csdn.net/yihanzhi/article/details/74200618 数组:this.$set(this.arr,index,value)