MySQL接受任何密码

MySQL接受任何密码,mysql,passwords,Mysql,Passwords,假设我有一个带有大量测试帐户的测试服务器。测试帐户具有未知密码,这些密码硬编码到应用程序的报告中,并加密存储在mysql.users表中 是否有任何选项或黑客可以用来让mysql接受任何文本作为帐户的“正确”密码?例如: Update mysql.user Set Password="*" where 1=1 注意:上面这行行不通,因为它会将密码设置为“*”而不是通配符。然而,我正在寻找一种方法来创建一个mysql帐户,它可以接受任何东西作为有效密码。这台机器已与网络断开连接,我可以完全访问m

假设我有一个带有大量测试帐户的测试服务器。测试帐户具有未知密码,这些密码硬编码到应用程序的报告中,并加密存储在mysql.users表中

是否有任何选项或黑客可以用来让mysql接受任何文本作为帐户的“正确”密码?例如:

Update mysql.user Set Password="*" where 1=1

注意:上面这行行不通,因为它会将密码设置为“*”而不是通配符。然而,我正在寻找一种方法来创建一个mysql帐户,它可以接受任何东西作为有效密码。这台机器已与网络断开连接,我可以完全访问mysql数据库…

我认为没有这种黑客行为。但是,如果密码是硬编码的,那么提取密码并生成脚本应该很容易。当然,除非存储密码的格式不可读。

实际上不可读

您可以做什么:

  • 新密码(
    设置Piskvor='hunter2'的密码;刷新权限;
  • 使用
    --跳过授权表
    选项。这将允许任何连接的任何密码访问任何数据库警告:这是一个主要的安全漏洞-任何用户都可以在服务器使用此选项运行时修改
    mysql
    数据库,包括用户和密码。

(如果您拥有对数据库的完全访问权限,但不更改现有密码和/或无法修改服务器进程选项,我会怀疑发生了可疑的事情)

非常老的问题。但今天我发现,在启动mysql服务时,可以使用--skip grant tables选项来完成

--跳过授权表会导致服务器不读取mysql系统数据库中的授权表,从而在不使用 特权制度。这使任何人都可以访问服务器 对所有数据库的无限制访问


硬编码密码存储在用于保存报告的二进制格式中(想想像Word2003这样的二进制非XML格式,但是是专有的)