MYSQL注入天书之后记

后记

对于工具的看法:

我之所以在每个例子中只写了几个示例,是因为我希望你能通过这一两个示例举一反三将其他的列出来。如果让我来完成每一次完整的注入,应该在知道原理的情况下,必然使用工具或者自己写代码实现自动化。为什么不拿着工具直接上,想必大多数的人开始的时候都是使用别人的工具,其实这种习惯已经侵蚀着你的思维和学习方式,所以为了改变,为了不让别人总说你是script kids,完成上述的原理理解是必须的。

对整项工作我的看法:

我没有写工具注入和代码自动化,(因为只有部分关卡做了这两项工作,没脸写)所以感觉这项工作是不完整的。但是从对sql注入的原理学习方面来说,个人认为完成度已经是95%,我们在background中基本上将见到的所有的注入方法都写了(大牛别打脸,我现在出门已经够吓人了。如果还有奇淫技巧,联系我我马上加上!),所以不以偏概全,还是希望大家仁者见仁,智者见智。

整项工作进行了一个月的时间,这一个月的确花费了比较多的时间,希望能够给后来人提供一个不错的学习材料。

对未来的看法:

这里我想谈下关系型数据库和非关系型数据库。

在我们上述的例子中,我们使用的是mysql,mssql和oracle的语法有些不同,但是道理是一致的,但是这里也要注意某一类型的数据库有着数据自己的特定的一些东西,例如mssql的xp_cmdshell。但是最终依旧是要殊途同归,他们实现的需求是一致的。

而现在比较热的nosql(非关系型数据库),例如mongo等的出现。很多人认为我们学的东西即将过时,但是从现在mongo的注入过程中看,其实和我们关系型数据库的思想是一致的,当你了解后再去开拓nosql 的技能,相信你能事半功倍。

对实验的后续开发工作:

尽管当前作者已经写了很多的关卡,但是有些东西还是没有涉及到。同时作者的这个项目应该已经停止了很久了。如果有想法和精力的话,我们将添补很多的注入方面的实验。有共同想法的可以加我好友我们一起来完成这项有意义的工作,为后来人创造一个良好的学习平台。

时间: 2024-10-05 06:59:52

MYSQL注入天书之后记的相关文章

MYSQL注入天书之开天辟地

MYSQL注入天书 ---------Sqli-labs使用手册 ? MYSQL注入天书????1 写在前面的一些内容????1 SQLI和sqli-labs介绍????2 Sqli-labs下载????2 Sqli-labs安装????2 第一部分/page-1 Basic Challenges????3 Background-1 基础知识????3 Less-1????10 Less-2????14 Less-3????15 Less-4????16 Background-2 盲注的讲解??

MYSQL注入天书之基础知识

第一部分/page-1 Basic Challenges Background-1 基础知识 此处介绍一些mysql注入的一些基础知识. (1)注入的分类---仁者见仁,智者见智. 下面这个是阿德玛表哥的一段话,个人认为分类已经是够全面了.理解不了跳过,当你完全看完整个学习过程后再回头看这段.能完全理解下面的这些每个分类,对每个分类有属于你的认知和了解的时候,你就算是小有成就了,当然仅仅是sql注入上. 基于从服务器接收到的响应? ▲基于错误的SQL注入 ▲联合查询的类型 ▲堆查询注射 ▲SQL

MYSQL注入天书之宽字节注入

Background-7 宽字节注入 Less-32,33,34,35,36,37六关全部是针对'和\的过滤,所以我们放在一起来进行讨论. 对宽字节注入的同学应该对这几关的bypass方式应该比较了解.我们在此介绍一下宽字节注入的原理和基本用法. 原理:mysql在使用GBK编码的时候,会认为两个字符为一个汉字,例如%aa%5c就是一个汉字(前一个ascii码大于128才能到汉字的范围).我们在过滤 ' 的时候,往往利用的思路是将 ' 转换为 \' (转换的函数或者思路会在每一关遇到的时候介绍)

MYSQL注入天书之导入导出介绍

Background-3 导入导出相关操作的讲解 load_file()导出文件 Load_file(file_name):读取文件并返回该文件的内容作为一个字符串. 使用条件: A.必须有权限读取并且文件必须完全可读? ? ? ? ? ? and (select count(*) from mysql.user)>0/* 如果结果返回正常,说明具有读写权限. ? ? ? and (select count(*) from mysql.user)>0/* 返回错误,应该是管理员给数据库帐户降权

MYSQL注入天书之盲注讲解

Background-2 盲注的讲解 何为盲注?盲注就是在sql注入过程中,sql语句执行的选择后,选择的数据不能回显到前端页面.此时,我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注.从background-1中,我们可以知道盲注分为三类 ?基于布尔SQL盲注 ?基于时间的SQL盲注 ?基于报错的SQL盲注 Ps:知识点太多了,这里只能简单列出来大致讲解一下.(ps:每当看到前辈的奇淫技巧的payload时,能想象到我内心的喜悦么?我真的想细细的写写这一块,但是不知道该怎么写或者小伙伴

MYSQL注入天书之stacked injection

第三部分/page-3 Stacked injection Background-8 stacked injection Stacked injections:堆叠注入.从名词的含义就可以看到应该是一堆sql语句(多条)一起执行.而在真实的运用中也是这样的,我们知道在mysql中,主要是命令行中,每一条语句结尾加 ; 表示语句结束.这样我们就想到了是不是可以多句一起使用.这个叫做stacked injection. 0x01 原理介绍 在SQL中,分号(;)是用来表示一条sql语句的结束.试想一

MYSQL注入天书之数据库增删改介绍

Background-4 增删改函数介绍 在对数据进行处理上,我们经常用到的是增删查改.接下来我们讲解一下mysql 的增删改.查就是我们上述总用到的select,这里就介绍了. 增加一行数据.Insert 简单举例 insert into users values('16','lcamry','lcamry'); ? 删除 ? 2.删数据:?? delete?from?表名;?? delete?from?表名?where?id=1;?? ? 删除结构:?? 删数据库:drop?database

MYSQL注入天书之服务器(两层)架构

Background-6 服务器(两层)架构 首先介绍一下29,30,31这三关的基本情况: 服务器端有两个部分:第一部分为tomcat为引擎的jsp型服务器,第二部分为apache为引擎的php服务器,真正提供web服务的是php服务器.工作流程为:client访问服务器,能直接访问到tomcat服务器,然后tomcat服务器再向apache服务器请求数据.数据返回路径则相反. 此处简单介绍一下相关环境的搭建.环境为ubuntu14.04.此处以我搭建的环境为例,我们需要下载三个东西:tomc

MYSQL注入天书之前言

写在前面的一些内容 请允许我叨叨一顿: 最初看到sqli-labs也是好几年之前了,那时候玩了前面的几个关卡,就没有继续下去了.最近因某个需求想起了sqli-labs,所以翻出来玩了下.从每一关卡的娱乐中总结注入的方式,这就是娱中作乐,希望能保持更大的兴趣学下去.而很多的东西不用就忘记了,有些小的知识点更是这样,网上搜了一下相关资料,基本上同仁前辈写的博客中讲解基础关.脑门一热决定给后面的人留下点东西(或许糟粕或许精华,全在你的角度),遂决定写blog.Blog写完了后决定总结成一个pdf文档,