MYSQL注入天书之前言】的更多相关文章

写在前面的一些内容 请允许我叨叨一顿: 最初看到sqli-labs也是好几年之前了,那时候玩了前面的几个关卡,就没有继续下去了.最近因某个需求想起了sqli-labs,所以翻出来玩了下.从每一关卡的娱乐中总结注入的方式,这就是娱中作乐,希望能保持更大的兴趣学下去.而很多的东西不用就忘记了,有些小的知识点更是这样,网上搜了一下相关资料,基本上同仁前辈写的博客中讲解基础关.脑门一热决定给后面的人留下点东西(或许糟粕或许精华,全在你的角度),遂决定写blog.Blog写完了后决定总结成一个pdf文档,…
MYSQL注入天书 在线版本:xianzhi.aliyun.com 第一篇地址:https://xianzhi.aliyun.com/forum/read/314.html第二篇地址:https://xianzhi.aliyun.com/forum/read/328.html第三篇地址:https://xianzhi.aliyun.com/forum/read/344.html 第四篇地址:https://xianzhi.aliyun.com/forum/read/411.html 先知pdf版…
第一部分/page-1 Basic Challenges Background-1 基础知识 此处介绍一些mysql注入的一些基础知识. (1)注入的分类---仁者见仁,智者见智. 下面这个是阿德玛表哥的一段话,个人认为分类已经是够全面了.理解不了跳过,当你完全看完整个学习过程后再回头看这段.能完全理解下面的这些每个分类,对每个分类有属于你的认知和了解的时候,你就算是小有成就了,当然仅仅是sql注入上. 基于从服务器接收到的响应  ▲基于错误的SQL注入 ▲联合查询的类型 ▲堆查询注射 ▲SQL…
Background-7 宽字节注入 Less-32,33,34,35,36,37六关全部是针对'和\的过滤,所以我们放在一起来进行讨论. 对宽字节注入的同学应该对这几关的bypass方式应该比较了解.我们在此介绍一下宽字节注入的原理和基本用法. 原理:mysql在使用GBK编码的时候,会认为两个字符为一个汉字,例如%aa%5c就是一个汉字(前一个ascii码大于128才能到汉字的范围).我们在过滤 ' 的时候,往往利用的思路是将 ' 转换为 \' (转换的函数或者思路会在每一关遇到的时候介绍)…
第三部分/page-3 Stacked injection Background-8 stacked injection Stacked injections:堆叠注入.从名词的含义就可以看到应该是一堆sql语句(多条)一起执行.而在真实的运用中也是这样的,我们知道在mysql中,主要是命令行中,每一条语句结尾加 ; 表示语句结束.这样我们就想到了是不是可以多句一起使用.这个叫做stacked injection. 0x01 原理介绍 在SQL中,分号(;)是用来表示一条sql语句的结束.试想一…
后记 对于工具的看法: 我之所以在每个例子中只写了几个示例,是因为我希望你能通过这一两个示例举一反三将其他的列出来.如果让我来完成每一次完整的注入,应该在知道原理的情况下,必然使用工具或者自己写代码实现自动化.为什么不拿着工具直接上,想必大多数的人开始的时候都是使用别人的工具,其实这种习惯已经侵蚀着你的思维和学习方式,所以为了改变,为了不让别人总说你是script kids,完成上述的原理理解是必须的. 对整项工作我的看法: 我没有写工具注入和代码自动化,(因为只有部分关卡做了这两项工作,没脸写…
Background-2 盲注的讲解 何为盲注?盲注就是在sql注入过程中,sql语句执行的选择后,选择的数据不能回显到前端页面.此时,我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注.从background-1中,我们可以知道盲注分为三类 •基于布尔SQL盲注 •基于时间的SQL盲注 •基于报错的SQL盲注 Ps:知识点太多了,这里只能简单列出来大致讲解一下.(ps:每当看到前辈的奇淫技巧的payload时,能想象到我内心的喜悦么?我真的想细细的写写这一块,但是不知道该怎么写或者小伙伴…
Background-3 导入导出相关操作的讲解 load_file()导出文件 Load_file(file_name):读取文件并返回该文件的内容作为一个字符串. 使用条件: A.必须有权限读取并且文件必须完全可读            and (select count(*) from mysql.user)>0/* 如果结果返回正常,说明具有读写权限.       and (select count(*) from mysql.user)>0/* 返回错误,应该是管理员给数据库帐户降权…
Background-4 增删改函数介绍 在对数据进行处理上,我们经常用到的是增删查改.接下来我们讲解一下mysql 的增删改.查就是我们上述总用到的select,这里就介绍了. 增加一行数据.Insert 简单举例 insert into users values('16','lcamry','lcamry');   删除  2.删数据:   delete from 表名;   delete from 表名 where id=1;    删除结构:   删数据库:drop database…
Background-6 服务器(两层)架构 首先介绍一下29,30,31这三关的基本情况: 服务器端有两个部分:第一部分为tomcat为引擎的jsp型服务器,第二部分为apache为引擎的php服务器,真正提供web服务的是php服务器.工作流程为:client访问服务器,能直接访问到tomcat服务器,然后tomcat服务器再向apache服务器请求数据.数据返回路径则相反. 此处简单介绍一下相关环境的搭建.环境为ubuntu14.04.此处以我搭建的环境为例,我们需要下载三个东西:tomc…