假设我有一组包含大量测试帐户的测试服务器。测试帐户具有未知密码,这些密码硬编码到应用程序的报告中,并以加密方式存储在mysql.users表中。
是否有任何选项或hack可用于使mysql接受任何文本作为帐户的“正确”密码?例如:
Update mysql.user Set Password="*" where 1=1
注意:上面的行不起作用,因为它会将密码设置为“*”而不是通配符。但是,我正在寻找一种方法来创建一个mysql帐户,它可以接受任何有效的密码。这台机器与网络断开连接,我可以完全访问mysql数据库......
答案 0 :(得分:1)
不是。
你能做什么:
SET PASSWORD FOR Piskvor='hunter2'; FLUSH PRIVILEGES;
)--skip-grant-tables
选项的mysql
数据库,包括使用此选项运行服务器时的用户和密码。 (如果您拥有对数据库的完全访问权限,但不会更改现有密码和/或无法修改服务器进程选项,我会怀疑有什么可疑的事情发生了)
答案 1 :(得分:0)
我认为不存在这样的黑客行为。但是,如果密码在某处硬编码,则应该很容易提取密码并生成脚本。当然,除非存储密码的格式不可读。
答案 2 :(得分:0)
非常老的问题。但是今天我发现可以使用启动mysql服务上的--skip-grant-tables选项来完成它。
https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_skip-grant-tables
-skip-grant-tables导致服务器不读取mysql系统数据库中的授权表,因此无需使用 特权系统。这样任何人都可以访问服务器 不受限制地访问所有数据库。