Sqli-labs环境通关教程-学习
文章平均质量分 98
web安全初学者。。。。
红烧兔纸
加油,冲鸭!!!
展开
-
Sqli-labs通关总结
历经两个多月,总于通关了,后面还有10关由于原作者并没有没有更新,我们也就无从下手,不过从这65关中我们足以对SQL注入有了一个清晰的了解了,也就勉强达到SQL注入入门的水平,接下来就是去各大平台去找SQL类型的题目去做。 在通关的过程中参考了别人写的博客,因为是初学者,参考了大量的博客,参考的过程中即能提升自己的技能,也能学习别人的思路,还能总结他们的做法,通关的方法有很多,我都一一做了记录,当然还要说一点的是,别人的博客多多少少都会有点错误,这需要我们自己去发现,记住,一定要自己...原创 2020-06-27 15:19:26 · 2025 阅读 · 1 评论 -
Sqli-labs之Less:62-65
Less-62基于Bool_GET_单引号_小括号_字符型_盲注先正常访问:看到这个页面,猜测源码与58关类似,那么首先判断注入类型:?id=1' ?id=1' -- #?id=1" ?id=1"-- #?id=1') ?id=1')-- #经过测试发现:双引号正确回显,单引号和单引号加注释都没报错信息且没有正...原创 2020-06-27 11:46:36 · 919 阅读 · 0 评论 -
Sqli-labs之Less:58-61
Less-58基于错误_GET_单引号_字符型_双注入因期末考试暂停更新,预计6月20日开始更新。原创 2020-06-01 14:11:40 · 1063 阅读 · 0 评论 -
Sqli-labs之Less:54-57
Less-54基于错误_GET_单引号_字符型_UNION注入翻译: 请输入ID作为参数,数值与实验室时习相同 此挑战的目标是在不到10次的尝试中从数据库(challenges)的随机表中转储(密钥) 为了好玩,每次重置,挑战都会生成随机表名、列名和表数据。随时保持新鲜。从 Less 54 - Less 65 这 12 关属于...原创 2020-05-25 23:25:08 · 918 阅读 · 0 评论 -
Sqli-labs之Less:50-53
Less-50基于错误_GET_数字型_排序堆叠注入我们可以看下 Page 3 的关卡组成如下:Less 38 - Less 41:GET 型堆叠注入Less 42 - Less 45:POST 型堆叠注入Less 46 - Less 49:排序注入Less 50 - Less 53:排序堆叠注入而Less-50的核心源码如下:(没有任何的过滤)我们从源码...原创 2020-05-22 10:53:53 · 454 阅读 · 0 评论 -
Sqli-labs之Less:46-49
Less-49基于错误_GET_数字型_排序注入这一关首先要说一下的是,在前面的关卡中我们大多是使用 id这个参数来获取到正常的页面,但在这几关中我们要使用 sort 这个参数,因为后台源代码这样设置了那么接下来我们看一下正常的页面:我们看到了正常的页面,从中我们也发现了数字的不同,页面给我们呈现出的账号表格中的顺序是不同的,那么这就是我们这几关要说的知识点。...原创 2020-05-16 23:26:27 · 1259 阅读 · 0 评论 -
Sqli-labs之Less:42-45
Less-42基于存储_POST_单引号_字符型_堆叠注入这一关看起来和Less-24是一样的界面,实际上是不同的,我们点击 New User click here?可以看到如下:翻译:你需要创建帐户然后侵入通过这一关我们了解到了,我们无法进行注册和忘记密码的操作。我们在Less-24做这种界面的关卡的时候是二次注入,通过越权修改别人的密码,我们这里还是一样,只是改为使用堆...原创 2020-05-13 16:14:14 · 585 阅读 · 0 评论 -
Sqli-labs之Less:38-41
Less-38基于错误_GET_单引号_字符型_堆叠注入这里有修改系统变量的几种方法,可以考虑注入时涉及文件操作时先修改权限。MySQL里设置或修改系统变量的几种方法如果遇到Mysql loadfile 不成功,请看Less-7进行解决注入过程mysqli_multi_query() 函数执行一个或多个针对数据库的查询。多个查询用分号进行分隔。(有这个才能进行堆叠)分号我们...原创 2020-05-09 00:01:18 · 585 阅读 · 3 评论 -
第八部分:Stacked injections-堆叠注入
Stacked injections:堆叠注入。从名词的含义就可以看到应该是一堆 sql 语句(多条)一起执行。而在真实的运用中也是这样的,我们知道在 mysql 中,主要是命令行中,每一条语句结尾加 ; 表示语句结束。这样我们就想到了是不是可以多句一起使用。这个叫做 stackedinjection。0x01 原理介绍在 SQL 中,分号 ;是用来表示一条 sql 语句的结束。试想一下我们在 ; 结束一个 sql语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入。而..转载 2020-05-08 22:37:12 · 774 阅读 · 0 评论 -
Sqli-labs之Less-37
Less-37POST型 - 绕过 MYSQL_real_escape_string本关与 34 关是大致相似的,区别在于处理 post 内容用的是 mysql_real_escape_string()函数,而不是 addslashes()函数,但是原理是一直的,查看源码...原创 2020-05-07 22:16:35 · 442 阅读 · 0 评论 -
对宽字节的深入了解
01 背景知识字符集在了解宽字节注入之前,我们先来看一看字符集是什么。字符集也叫字符编码,是一种将符号转换为二进制数的映射关系。几种常见的字符集:ASCII编码:单字节编码 latin1编码:单字节编码 gbk编码:使用一字节和双字节编码,0x00-0x7F范围内是一位,和 ASCII 保持一致。双字节的第一字节范围是0x81-0xFE UTF-8编码:使用一至四字节编码,0x......原创 2020-05-07 11:22:44 · 7057 阅读 · 0 评论 -
Sqli-labs之Less-36
Less-36待续。。原创 2020-05-05 15:29:26 · 557 阅读 · 2 评论 -
Sqli-labs之Less-35
Less-35GET-绕过添加斜杠(我们不需要它们)基于整数基于错误_GET_数字型_addslashes()_宽字节注入0x01. 判断注入类型这关有错误回显,所以比较容易判断:由此得出结论该注入类型为数字型。小提示:如何判断数字型or被过滤而没有错误...原创 2020-05-04 21:56:39 · 681 阅读 · 0 评论 -
Sqli-labs之Less-34
Less-34基于错误_POST_单引号_字符型_addslashes()_宽字节注入《注入天书》中介绍因 POST 不能进行 URLencode,可使用 UTF-8 转 UTF-16 或 UTF-32,实践中发现正常的宽字节注入仍有效,猜测是编码的问题,待解决。一个参考:...原创 2020-05-02 23:09:49 · 2339 阅读 · 0 评论 -
Sqli-labs之Less-32和Less-33
待续。原创 2020-04-30 22:34:28 · 895 阅读 · 0 评论 -
第七部分:宽字节注入
原理mysql 在使用 GBK 编码的时候,会认为两个字符为一个汉字,例如%aa%5c 就是一个汉字(前一个 ascii 码大于 128 才能到汉字的范围)。我们在过滤 ’ 的时候,往往利用的思路是将‘转换为\’(转换的函数或者思路会在每一关遇到的时候介绍)。PHP 自带一些转义特殊字符的函数,如addslashes(),mysql_real_escape_string(),mysql_e...转载 2020-04-30 22:26:30 · 376 阅读 · 0 评论 -
Sqli-labs之Less-29和Less-30和Less-31
Less-29基于错误_GET_双服务器_单引号_字符型注入服务器(两层)架构注:截图等来自《MySQL注入天书:Less 29》服务器端有两个部分:第一部分为 tomcat 为引擎的 jsp 型服务器,第二部分为 apache 为引擎的 php 服务器,真正提供 we...原创 2020-04-29 23:26:31 · 1146 阅读 · 0 评论 -
第六部分-搭建双服务器-Tomcat和Apache
由于第29,30,31关需要双服务器环境,即Tomcat和Apache。这里以win2003为环境,利用JSP和PHPStudy来搭建服务器,由于我们已经在PHPStudy上搭建好了Apache服务器,现在只需要在JSP上搭建Tomcat即可。首先下载JSPhttps://www.xp.cn/download.html注意下载完之后可能出现Apache端口冲突的情况,可以修改js...原创 2020-04-29 00:10:50 · 342 阅读 · 0 评论 -
Sqli-labs之Less-28和Less-28a
Less-28基于错误的,单引号字符型,过滤了union和select等的注入判断注入类型1和1"正常回显,1'报错,单引号字符型。2'%26%26'1'='1回显为id=1,有小括号。参看源码:发现没有过滤or与and。过滤了相...原创 2020-04-27 23:41:17 · 1446 阅读 · 2 评论 -
Sqli-labs之Less-27和Less-27a
Less-27基于错误_GET_过滤UNION/SELECT_单引号_字符型注入测试注入字符类型:?id=2'%26%26 '1'='1 (id=2的用户说明不带括号,id=1的用户说明带括号)由此得出,这是单引号字符型注入。(不带小括号的)根据提示...原创 2020-04-26 23:59:31 · 1994 阅读 · 0 评论 -
Sqli-labs之Less-26和Less-26a
Less-26GET-基于错误-您所有的空格和注释都属于我们待续原创 2020-04-22 23:28:50 · 995 阅读 · 1 评论 -
Sqli-labs之Less-25和Less-25a
Less-25GET-基于错误-您所有的OR&AND都属于我们-字符串单引号Notice: Undefined variable: hint in C:\phpStudy\WWW\sqli\Less-25\index.php on line 81Hint: Your Input is ...原创 2020-04-21 23:46:02 · 993 阅读 · 0 评论 -
Sqli-labs之Less-24(二次注入)
Less-24POST型基于存储的二次注入随意输入点击:Forgot your password?翻译:如果你忘记了密码,去黑掉它。点击:New User click here?注册用户。尝试注册一个用户: 用户:test1 密码:test1...原创 2020-04-20 00:11:13 · 3439 阅读 · 6 评论 -
Sqli-labs之Less-23
Less-23基于错误的,过滤注释的GET型判断注入类型:?id=1 ?id=1' ?id=1" 发现第二条语句报错:翻译:警告:mysql_fetch_array()期望参数1为资源,布尔值在第38行的C:\ phpStudy \ WWW \ sqli ...原创 2020-04-18 01:08:28 · 721 阅读 · 1 评论 -
page-2 Advanced injection
接下来将进入到高级注入关卡中这里将会记录,高级关卡中所涉及到的知识点:原创 2020-04-17 21:11:36 · 204 阅读 · 0 评论 -
Sqli-labs之Less-20和Less-21和Less-22
Less-20基于错误的cookie头部POST注入首先从已知的条件中我们知道这又是一道“头部注入”,那么我们先输入正确的用户名和密码看一下登录成功是什么样子的: 回显有User-Agent、IP这样从当次Request直接获取的, 也有Cookie这样刷...原创 2020-04-15 00:32:13 · 3147 阅读 · 0 评论 -
Sqli-labs之Less-18和Less-19
Less-18基于错误的用户代理,头部POST注入(注:这一个模拟的场景是注册登录后的注入)由题意可知,这又是一种新姿势,老方法,查找注入点,发现前面的方法都未成功。且错误回显与正确回显都显示IP:这里写说几个常用请求头:(上一篇文章详细讲过) Host...原创 2020-04-12 23:45:51 · 3523 阅读 · 10 评论 -
第五部分:HTTP头部介绍
HTTP头部介绍在利用抓包工具进行抓包的时候,我们能看到很多的项,下面详细讲解每一项。HTTP头部详解1、 Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type。2、 Accept-Charset:...转载 2020-04-11 19:07:05 · 308 阅读 · 0 评论 -
Sqli-labs之Less-17
Less-17基于错误的更新查询POST注入翻译:把你这个愚蠢的黑客赶走由于这关模拟的场景是登录后在修改密码界面注入而并非登录时注入。所以我们使用uname=1&passwd=1uname=1&passwd=1' uname=1&passwd=1"无法有...原创 2020-04-11 00:15:24 · 2314 阅读 · 10 评论 -
第四部分:4.增删改函数介绍
参考:https://www.cnblogs.com/peterpan0707007/p/7620048.html在对数据进行处理上,我们经常用到的是增删查改。接下来我们讲解一下 mysql 的增删改。查就是我们上述总用到的 select,这里就介绍了。增加一行数据: Insertinsert into users values('16','test1','test1');删除 ...转载 2020-04-08 22:57:17 · 259 阅读 · 0 评论 -
Sqli-labs之Less-15和Less-16
Less-15基于布尔型/时间延迟单引号POST型盲注测试:?id=1uname=1&passwd=1uname=1&passwd=1?id=1'...原创 2020-04-08 00:29:12 · 2363 阅读 · 3 评论 -
Sqli-labs之Less-13和Less-14
Less-13POST单引号变形双注入由题意可知,有单引号闭合的问题,所以在输入框中分别输入 1' 和 1,看返回结果:报错,从信息中得知还有一个小括号,测试 1') or 1=1 -- #登录成功发现不在返回用户名和密码信息。从以上的信息中...原创 2020-04-05 23:56:29 · 1194 阅读 · 0 评论 -
Sqli-labs之Less-5的补充
原文链接:http://www.52bug.cn/hkjs/4649.html这里我会对原文进行部分修改:0x00 概述渗透的时候总会首先测试注入,sql注入可以说是web漏洞界的Boss了,稳居owasp第一位,普通的直接回显数据的注入现在几乎绝迹了,绝大多数都是盲注了,此文是盲注系列的第一篇,介绍盲注中的报错注入。0×01 报错注入原理其实报错注入有很多种,本文主要介绍几种...转载 2020-03-30 20:08:01 · 709 阅读 · 1 评论 -
Sqli-labs之Less-11和Less-12
Less-11POST - 基于错误的- 单引号- 字符型 LOGIN ATTEMPT FAILED 登录尝试失败从这一关的提示当中我们知道这是一个post类型的,那么post与ge...原创 2020-04-02 23:55:12 · 1777 阅读 · 2 评论 -
Sqli-labs之Less-9和Less-10
Less-9GET - 盲注 - 基于时间 - 单引号从题目中我们了解到了这是一道关于单引号时间盲注的题,那么我们先尝试 ?id=1' 发现返回的结果竟然是 You are in ... 什么情况?于是分别尝试 ?id=1 ?id=1" 发现结果都是You are in ......原创 2020-04-01 00:22:29 · 725 阅读 · 0 评论 -
Sqli-labs之Less-8
Less-8GET-盲注-基于布尔值-单引号根据题目提示可知这是单引号注入且需要通过盲注进行通关,那么首先利用单引号看一下网页的回显:测试是否是注入点发现什么也没有,也就是说网页不会返回任何报错信息,也不会返回其他信息即没有任何回显信息,Less1、5、7、8回显对比...原创 2020-03-30 00:57:17 · 2023 阅读 · 0 评论 -
Sqli-labs之Less-7
Less-7GET - 导入文件- 字符串分析数字型/字符型及单/双引号注入: 我们可以分别尝试将 ?id=1 ?id=1' ?id=1"添加到url中,进行测试,发现?id=1'报错,初步判断为字符型注入,经过测试后发现正常返回 You are in.... U...原创 2020-03-26 23:25:09 · 1709 阅读 · 0 评论 -
Sqli-labs之Less-5和Less-6
这两关正确的思路是盲注。从源代码中可以看到,运行返回结果正确的时候只返回 you are in....,不会返回数据库当中的信息了,所以我们不能利用上述 less1-4 的方法。我们对比下less-4和less-5的源码:我们从这两关开始学习盲注。结合 第二部分:2.盲注的讲解 的信息,来展示盲注的使用方法。 ...原创 2020-03-18 23:44:07 · 1635 阅读 · 1 评论 -
第二部分:2.盲注的讲解
何为盲注?盲注就是在 sql 注入过程中,sql 语句执行的选择后,选择的数据不能回显到前端页面。此时,我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注。从background-1 中,我们可以知道盲注分为三类 基于布尔 SQL 盲注 基于时间的 SQL 盲注 基于报错的 SQL 盲注 1 :基于布尔 L SQL 盲注 -------...转载 2020-03-17 23:56:34 · 1098 阅读 · 0 评论 -
Sqli-labs之Less-3和Less-4
Less-3 ==>字符型注入获取-基于错误-带括号的单引号-字符串 欢迎 Dhakkan ...原创 2020-03-15 22:41:42 · 676 阅读 · 0 评论