MySQL数据库取证扫盲(二)
2023-3-21 14:31:11 Author: 网络安全与取证研究(查看原文) 阅读量:20 收藏

MySQL数据库配置文件内通常会保存MySQL数据库的端口号、数据库安装路径、数据库存放路径。在进行数据库取证前,先查看数据库配置文件,可以很快确定数据库使用的端口号和数据库存放路径,以便我们快速定位数据库所在的存储路径,达到事半功倍的效果。

MySQL数据库的配置文件在Windows系统和Linux系统内各不相同。在Windows系统内一般为my.ini或者my-default.ini,一般存放在MySQL安装路径(C:\ProgramData\MySQL\MySQL Server XXX\Data)。在Linux系统内为my.cnf,一般存放在/etc/目录下,也可以通过搜索文件名来定位数据库配置文件的位置,如:find / -name my.cnf 。

MySQL配置文件详解:

[mysqld]

# 设置3306端口

port=3306

# 设置mysql的安装目录

basedir=D:\Program Files\MySQL

# 设置mysql数据库的数据的存放目录

datadir=D:\Users\qiuzhiwen\MySQL\Data

# 允许最大连接数

max_connections=200

# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统

max_connect_errors=10

# 服务端使用的字符集默认为UTF8

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

# 默认使用“mysql_native_password”插件认证

default_authentication_plugin=mysql_native_password

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[client]

# 设置mysql客户端连接服务端时默认使用的端口

port=3306

default-character-set=utf8

在进行数据库固定之前,我们必须登录数据库中,这时候就需要掌握数据库登录的用户名及密码,如果在不知道相关信息的情况下,我们可以绕过并重置密码的方式来进入数据库进行数据固定。

绕过数据库密码:

1.停止MySQL服务。

systemctl stop mysqld

2.找到MySQL的配置文件所在路径。

find / -name my.cnf

3.修改配置文件。

vim /文件所在路径/my.cnf

4.在配置文件中【mysqld】后面加入语句。

skip-grant-tables

5.开启MySQL服务。

systemctl start mysqld

6.免密登录数据库。

mysql -u root -p(此处按两次回车即可进入)

进入数据库后,需要对连接访问权限进行修改,并对root用户重置密码。

1.进入MySQL数据库的user表中查看当前root用户信息。

use mysql;(此处分号需要一起输入)

select user,authentication_string,host, from user;

2.可以看到host字段中root用户的权限是localhost,代表着仅能本地访问。为了让所有主机可以登录,对host字段进行修改。

update user set host ='%' where user ='root';

3.当前root用户的authentication_string中有内容,则将内容设置为空。

update user set authentication_string='' where user='root';

4.退出MySQL并停止MySQL服务。

systemctl stop mysqld

5.删除 /文件所在路径/my.cnf中的skip-grant-tables,重启MySQL服务。

systemctl restart mysqld

6.使用root重新登录,由于authentication_string为空,则可以免密登录。

mysql -u root -p(此处需要按两次回车即可进入)

修改root密码:

方式一:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

方式二:use mybase; (这里的mybase是数据库名)

5.7.1以下版本

update user set password=password('123456') where user='root';

5.7.1以上版本

update user set authentication_string=password('123456') where user='root';

修改好密码后,咱们即可使用数据库连接工具对数据库进行图形化操作,也可对数据库进行相关数据固定。至于固定的方法,下期再见~

安全为先,洞鉴未来,奇安信盘古石取证团队竭诚为您提供电子数据取证专业的解决方案与服务。如需试用,请联系奇安信各区域销售代表,或致电95015,期待您的来电!

“盘古石”团队是奇安信科技集团股份有限公司旗下专注于电子数据取证技术研发的团队,由来自国内最早从事电子数据取证的成员组成。盘古石团队以“安全为先,洞鉴未来”为使命,以“漏洞思维”解决电子数据取证难题,以“数据驱动安全”为技术思想,以安全赋能取证,研发新一代电子数据取证产品,产品涵盖计算机取证、移动终端取证、网络空间取证、IoT取证、取证数据分析平台等电子数据取证全领域产品和解决方案,为包括公安执法、党政机关、司法机关以及行政执法部门等提供全面专业的支持与服务。


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg3NTU3NTY0Nw==&mid=2247485992&idx=1&sn=f7f872284b708775155386e2a8e423a2&chksm=cf3e2a18f849a30ed68e5446bb46afde7d78da0418f7b6d1d71763c06684fc6ca0f998deec70#rd
如有侵权请联系:admin#unsafe.sh