如何对有访问密码的MySQL数据库进行取证?
来源:51cto
时间:2023-01-10 08:12:35 425浏览 收藏
对于一个数据库开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《如何对有访问密码的MySQL数据库进行取证?》,主要介绍了MySQL、数据库、密码,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!
数据库取证
众所周知,数据库是信息系统中不可或缺的部分,随着大数据时代的到来,数据库已经成为犯罪分子的目标,大量数据库被用于存放网络盗窃和网络诈骗中产生的数据;将数据库的数据提取出来,成为了打击犯罪的重要手段之一。
MySQL数据库
MySQL是一种开放源代码的关系型数据库管理系统。从目前的数据库市场占有率来看,Oracle、MySQL、SQL Server三大数据库产品***,呈三足鼎立局面。而随着互联网行业的快速发展,MySQL因其开源免费易用等优势,市场占有率不断攀升,成为互联网公司***的数据库。而在不少的犯罪案件中我们也常常看到MySQL数据库的身影。
今天,小编就要跟大家分享的是一种MySQL数据库数据提取的方法。
案例背景
某案件需要对已扣押的本地服务器中MySQL数据库存进行取证,办案人员急需获取镜像中MySQL数据库的数据记录,但是却无法找到MySQL数据库的登录密码。
◆需求:获取镜像中MySQL数据库的记录
◆难题:如何对有访问密码的MySQL数据库进行取证?
◆检材:服务器镜像文件一份
案例思路分析
因为没有数据库登录密码,无法获取数据库数据。为了保证数据库数据的完整性,并且能够通过SQL语句方便快捷查询到用户所需的数据,我们需模拟出与嫌疑人相同的数据库环境。针对上述案例,我们可以通过附加mysql数据库并修改密码的方法来获取数据库数据,具体操作思路和步骤如下:
◆提取案例服务器中数据库文件;
◆将提取的数据库文件附加到新的电脑;
◆附加完成后重置MySQL的密码;
◆登录MySQL查看导出数据库记录。
从上述案件中得知,已经获取案件相关服务器镜像,因此只需附加mysql数据库并重置登录密码即可提取数据库数据。下面将详细讲述这两个步骤的具体操作方法。
具体操作步骤
附加MySQL数据库
1)在目标电脑上安装与嫌疑人使用的数据库相同版本的数据库,mysql安装过程本文档不详细介绍,网上很多mysql的安装教程;
2)MySQL安装完毕后,断开MySQL服务。‘C:ProgramDataMySQLMySQL Server 5.7Data’文件夹为MySQL数据库的数据目录,将需要附加的数据库数据文件复制拷贝到该文件夹中;
3)重新启动MySQL,若能正常启动,即附加成功。
PS:附加数据库的注意事项
1)如何快速确定镜像中MySQL的存放路径?
mysql数据库都具有ibdata1这个关键文件,可以通过检索这个文件快速定位到mysql数据文件的存放路径;
2)如何确定嫌疑人使用的MySQL数据库具体版本号?
安装在目标电脑上的MySQL版本号需要和镜像中的MySQL数据库版本相同, 确定mysql数据库版本的方法:使用winhex打开任意一个提取到mysql数据库中的.frm文件,如图所示:
3)重启MySQL报错怎么解决?
在将数据文件复制完毕后,重启数据库时如若报错,可在任务管理器中将mysqld.exe进程结束后把复制过来的日志文件删除或剪切到其他位置,再次启动MySQL服务,此时MySQL服务可正常启动,附加成功。如图所示:
2.重置MySQL数据库登录密码
附加MySQL数据库后,需要登录密码才能访问数据库数据,因为没有登录密码,因此需要重置MySQL数据库的登录密码到达访问提取数据库记录数据的目的,具体步骤如下:
1)修改MySQL数据库的C:ProgramDataMySQLMySQL Server 5.7中的my.ini配置文件,然后将修改好的my.ini复制到C:Program FilesMySQLMySQL Server 5.7中;如图所示将配置文件中的basedir修改为MySQL数据库应用程序所在路径,datadir修改为MySQL数据库数据文件存放路径:
2)在cmd命令行中切换至C:Program FilesMySQLMySQL Server 5.7in路径,关闭mysql服务执行命令mysqld --skip-grant-tables,该命令的作用是跳过用户验证。注意在执行了该命令后此cmd命令行无法继续操作了,需要重新打开一个cmd命令行切换到bin路径下;
3)在新打开的cmd命令行,直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库;
4)输入show database;可以看到所有数据库说明成功登录;
5)其中mysql库就是保存用户名的地方。输入use mysql;选择mysql数据库;
6)更改root密码;MySQL版本高于5.7.1输入update user set authentication_string=password("123456") where user="root";
7)刷新数据库mysql> flush privileges;之后退出MySQL: mysql>quit;此时MySQL密码已经重置成功;
PS:重置MySQL密码的注意事项
1)针对‘重置MySQL步骤6’中更改root密码,如若MySQL版本低于5.7,需输入update user set password=password("123456") where user="root";
2)在重置密码后重新启动MySQL服务,若MySQL服务无法启动;造成该错误的原因是日志文件发生错误,采用之前同样的解决方法:在任务管理中将mysqld.exe进程结束后把日志文件删除或者剪切到其他路径。
3.启动MySQL服务
1)重置MySQL的登录密码,启动MySQL服务,此时可以使用Navicat for MySQL管理器输入账号与修改后的密码后即可连接到MySQL数据库,访问数据并提取相关记录。
2)打开数据表,查看数据。
注意事项
在采用上述方法对MySQL数据库进行取证时也要注意以下几点:
1、确保从服务器中获取到的数据库的完整性,不然会导致附加失败;
2、确保搭建环境附加数据库的电脑具有足够的空间,不然会因为空间不足导致附加失败;
3、确保搭建环境中MySQL数据库版本与服务器中的MySQL数据库版本完全一致;
4、以上操作涉及到很多专业技能方面的,如有必要可找寻专业的公司协助完成。
终于介绍完啦!小伙伴们,这篇关于《如何对有访问密码的MySQL数据库进行取证?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布数据库相关知识,快来关注吧!
-
499 收藏
-
244 收藏
-
235 收藏
-
157 收藏
-
101 收藏
-
176 收藏
-
368 收藏
-
475 收藏
-
266 收藏
-
273 收藏
-
283 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习