详解MYSQL数据库密码的加密方式及破解方法

来源:http://www.heibai.net/articles/hacker/mimapojie/2009/0908/841.html

MYSQL数据库用户密码跟其它数据库用户密码一样,在应用系统代码中都是以明文出现的,在获取文件读取权限后即可直接从数据库连接文件中读取,例如asp代码中的conn.asp数据库连接文件,在该文件中一般都包含有数据库类型,物理位置,用户名和密码等信息;而在MYSQL中即使获取了某一个用户的数据库用户(root用户除外)的密码,也仅仅只能操作某一个用户的数据库中的数据。

在实际攻防过程中,在获取Webshell的情况下,是可以直下载MYSQL数据库中保留用户的user.MYD文件,该文件中保存的是MYSQL数据库中所有用户对应的数据库密码,只要能够破解这些密码那么就可以正大光明的操作这些数据,虽然网上有很多修改MYSQL数据库用户密码的方法,却不可取,因为修改用户密码的事情很容易被人发现!

研究MYSQL数据库的加解密方式,在网络攻防过程中具有重要的意义;试想一旦获取了网站一定的权限后,如果能够获取MYSQL中保存用户数据,通过解密后,即可通过正常途径来访问数据库;一方面可以直接操作数据库中的数据,另一方面可以用来提升权限。通过在网络上查找资料,目前关于破解MYSQL方面的研究不多,本文算是抛砖引玉,虽然效果不是特别好,但也算是对破解MYSQL数据库用户密码的一种探讨和尝试。

(一)MYSQL加密方式

MYSQL数据库的认证密码有两种方式,MYSQL 4.1版本之前是MYSQL323加密,MYSQL 4.1和之后的版本都是MYSQLSHA1加密,MYSQL数据库中自带Old_Password(str)和Password(str)函数,它们均可以在MYSQL数据库里进行查询,前者是MYSQL323加密,后者是MYSQLSHA1方式加密。

(1)以MYSQL323方式加密

SELECT Old_Password('bbs.antian365.com');

查询结果MYSQL323 = 10c886615b135b38

(2)以MYSQLSHA1方式加密

SELECT Password('bbs.antian365.com');
查询结果MYSQLSHA1 = *A2EBAE36132928537ADA8E6D1F7C5C5886713CC2   执行结果如图1所示,MYSQL323加密中生成的是16位字符串,而在MYSQLSHA1中生存的是41位字符串,其中*是不加入实际的密码运算中,通过观察在很多用户中都携带了“*”,在实际破解过程中去掉“*”,也就是说MYSQLSHA1加密的密码的实际位数是40位。

(二)MYSQL数据库文件结构

1.MYSQL数据库文件类型

MYSQL数据库文件共有“frm”、“MYD”“和MYI”三种文件,“.frm”是描述表结构的文件,

“.MYD”是表的数据文件,“.MYI”是表数据文件中任何索引的数据树。一般是单独存在一个文件夹中,默认是在路径“C:\Program Files\MYSQL\MYSQL Server 5.0\data”下。

2.MYSQL数据库用户密码文件

在MYSQL数据库中所有设置默认都保存在“C:\Program Files\MYSQL\MYSQL Server 5.0\data\MYSQL”中,也就是安装程序的data目录下,如图2所示,有关用户一共有三个文件即user.frm、user.MYD和user.MYI,MYSQL数据库用户密码都保存在user.MYD文件中,包括root用户和其他用户的密码。


(三)破解MYSQL密码

1.获取MYSQL数据库用户密码加密字符串

使用UltraEdit-32编辑器直接打开user.MYD文件,打开后使用二进制模式进行查看,如图3所示,可以看到在root用户后面是一串字符串,选中这些字符串将其复制到记事本中,这些字符串即为用户加密值,即506D1427F6F61696B4501445C90624897266DAE3。

注意:  

(1)root后面的“*”不要复制到字符串中。  

(2)在有些情况下需要往后面看看,否则得到的不是完整的MYSQLSHA1密码,总之其正确的密码位数是40位。


2.将MYSQL用户密码字符串加入到Cain破解列表    

本文使用Cain & Abel 来破解MYSQL数据库用户密码,Cain & Abel是一个可以破解屏保、PWL密码、共享密码、缓存口令、远程共享口令、SMB口令、支持VNC口令解码、Cisco Type-7口令解码、Base64口令解码、SQL Server 7.0/2000口令解码、Remote Desktop口令解码、Access Database口令解码、Cisco PIX Firewall口令解码、Cisco MD5解码、NTLM Session Security口令解码、IKE Aggressive Mode Pre-Shared Keys口令解码、Dialup口令解码、远程桌面口令解码等综合工具,还可以远程破解,可以挂字典以及暴力破解,其sniffer功能极其强大,几乎可以明文捕获一切帐号口令,包括FTP、HTTP、IMAP、POP3、SMB、TELNET、VNC、TDS、SMTP、MSKERB5-PREAUTH、MSN、RADIUS-KEYS、RADIUS-USERS、ICQ、IKE Aggressive Mode Pre-Shared Keys authentications等。   

Cain & Abel 目前最新版本是4.9.30,软件下载地址:http://www.newhua.com/soft/53494.htm。下载Cain & Abel 后,直接安装,然后运行它,在Cain & Abel 主界面中单击“Cracker”标签,然后将用户密码的加密字符串“506D1427F6F61696B4501445C90624897266DAE3”加入到MYSQL Hashes破解列表中,如图4所示,单击“Add to list”,如图5所示,将字符串复制到Hash输入框中。Username可以任意输入。



3.使用字典进行破解   

如图6所示,选中刚才添加的需要破解的字符串,然后选择“Dictionary Attack(字典破解)”,在弹出的菜单中选择“MYSQL SHA1 Hashes”方式进行破解,该方式针对的是MYSQL4.1后续版本,对于MYSQL4.1以前版本则选择“MYSQL v3.23 Hashes”进行破解。


选择Dictionary Attack(字典破解)”后会出现一个窗口,主要用于选择字典,如图7所示,在Dictionary下方右键单击,可以添加一个或者多个字典文件,字典选择完毕后可以在“Options(选项)”中进行选择,然后单击“Start”按钮进行破解。

说明:

在“Options(选项)”中一共有8种方式即:

(1)字符串首字母大写

(2)字符串反转

(3)双倍字符串

(4)字符串全部小写

(5)字符串全部大写

(6)在字符串中加入数字

(7)在每个字符串中进行大写轮换

(8)在字符串中加入2个数字   破解成功后Cain会给出一些提示信息,如下所示:

Plaintext of user  is databasepassword
Attack stopped!
1 of 1 hashes cracked
表明加密的密码是“databasepassword”。回到Cain破解主窗口中后,破解的密码值会自动加入到“Password”列中,如图8所示,便于查看。


(四)破解探讨 1.字典破解跟字典强度有关    

单击“开始”-“程序”-“MYSQL”-“MYSQL Server 5.0”-“MYSQL Command Line Client”打开MYSQL Command Line Client,输入密码后,输入以下代码重新设置一个新密码:

Use MYSQL
update user set password=password("1977-05-05") where user="root";
flush privileges;
本试验中将原来的密码修改为“1977-05-05”,其结果如图9所示。

再次使用UltraEdit-32软件重新打开“C:\Program Files\MYSQL\MYSQL Server 5.0\data\MYSQL\user.MYD”获取其新的密码字符串“B046BBAF61FE3BB6F60CA99AF39F5C2702F00D12”,然后重新选择一个字典,在本例中选择生成的生日字典,如图10,图11所示,仅仅选择小写字符串进行破解,很快就获取了破解结果。实际结果表明使用Cain来破解MYSQL密码,如果是采用字典破解,那么破解效果跟字典强度有关,只要破解的密码在字典中,则一定能够破解。



2.使用彩虹表进行破解

在Cain中还提供彩虹表破解MYSQL,在破解方式中选择“Cryptanalysis Attack”-“MYSQL SHA1 Hashes via RainbowTables”即可,如图12,图13所示,在实际测试过程中由于网络上提供的sha彩虹表格式是RTI,而Cain中使用的是RT,我将下载的所有彩虹表中文件后缀由RTI修改为RT,然后进行破解,提示信息显示不成功,应该是彩虹表的格式不一样,Cain中只承认它自己提供的。



3.Hash计算器   

在Cain中提供了各种Hashes的计算,在主界面中单击计算机图标按钮,即可弹出Hashes计算器,在“Text to hash”中输入需要转换的原始值,例如输入“12345678”,单击“Calculate”进行计算,如图14所示,可以看到14种Hashes值。


4.生成彩虹表

在Cain的安装目录C:\Program Files\Cain\Winrtgen中直接运行Winrtgen,如图15所示,该工具为彩虹表生成器,可以很方便的生成各种类型的彩虹表值。


5.设置彩虹表

在图15中单击“Add Table”在“Rainbow Table properties”中的Hash中选择“MYSQLsha1”,然后可以根据实际情况分别设置“Min Len”、“Max Len”、“Index”、“Chain len”、“Chain Count”以及“N of tables”的值,一般情况仅仅需要设置“Min Len”、“Max Len”以及“N of tables”的值。“N of tables”主要用来测试Hashes生成的完整度,输入不同的值,会在Table properties中显示百分比,通过尝试来确定一共需要生成多少个表,然后单击“Benchmark”进行时间估算,如图16所示,单击“OK”完成彩虹表生成设置。


在彩虹表生成器中,如图17单击“Start”开始生成彩虹表,在Status中会显示生成的大小和进度。


由于彩虹表生成的时间比较漫长,在网络上也没有搜索到以rt结尾的MYSQL Sha1 hashes表,因此本次破解主要以字典破解为主,彩虹表的破解将在全部生成后进行,关于使用彩虹表来破解MYSQL密码,请关注安天365论坛(bbs.antian365.com)。在服务器权限设置不太严格的情况下,通过Webshell完全可以将MYSQL下的user.MYD文件下载到本地,只要破解了root用户的密码,然后借助Webshell可以做很多事情,本文通过使用cain来破解MYSQL密码,算是一种较好的尝试,只要使用字典工具生成一些具有一定强度的字典,对于设计不太复杂的MYSQL密码,破解还是较为容易的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497764.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4-Docker命令之docker logs

1.docker logs介绍 docker logs命令是用来获取docker容器的日志 2.docker logs用法 docker logs [参数] CONTAINER [root@centos79 ~]# docker logs --helpUsage: docker logs [OPTIONS] CONTAINERFetch the logs of a containerAliases:docker container logs, docker lo…

亚马逊等智能音箱“偷听”用户 被指收集隐私

来源:中国评论通讯社概要:近日,美国消费者保护组织Consumer Watchdog出具的一份报告显示,来自亚马逊和谷歌的专利申请曝光了其智能音箱是如何“偷听”用户的。据英国《每日邮报》报道,近日,美国消费者保护…

android camera捕捉,通过android camera2 API捕捉4:3相机图片与16:9传感器阵列相机

我想从使用Camera2 API(Android 5.0版本中添加)的Android fron-facing相机以4:3的宽高比捕捉视频。它工作正常,除非相机有16:9传感器阵列(作为三星Galaxy S5上的前置摄像头)。在这种情况下,图像看上去就像是16:9图像被…

HTTP 相应头相关

If-Modified-Since & If-None-MatchIf-Modified-Since,和 Last-Modified 一样都是用于记录页面最后修改时间的 HTTP 头信息,只是 Last-Modified 是由服务器往客户端发送的 HTTP 头,而 If-Modified-Since 则是由客户端往服务器发送的头&am…

基于互联网云脑架构分析百度的现状与未来

前言:这是未来智能实验室基于互联网云脑架构,对世界科技企业的未来发展趋势进行分析的文章。因为百度排在BAT的首位,因此这个系列研究文章就从百度开始进行研究。作者:刘锋 计算机博士,互联网进化论作者互联网云脑&am…

华为鸿蒙操作界面,华为鸿蒙被“实锤”,操作界面曝光,为何被吐槽是换皮安卓?...

4月已经进入尾声,但鸿蒙系统的消息最近却变少了,记得此前发布Mate X2的时候,余承东表示要在4月份开始推送鸿蒙系统,Mate X2会成为首批升级机型。然而目前有不少用户吐槽称,依然还没有等到鸿蒙系统的推送,毕…

将文件内含有的特殊字符还原

如下文件内容: 这里有特殊字符:\n 、\t 、\u4e0a 、\/ 我要做的事,就是恢复其特殊字符的作用(而不是打印被转义后的效果) 直观的看,很容易:直接替换不就行了 line line.replaceAll("\\n&…

【深度】谭铁牛院士谈人工智能发展新动态

来源: Frontiers11月25日,模式识别与人工智能学科前沿研讨会在自动化所召开。会上,谭铁牛院士做“人工智能新动态”报告,回顾了近代以来历次科技革命及其广泛影响,并根据科学技术发展的客观规律解释了当前人工智能备受…

android keyboard用法,react-native-android-keyboard-adjust 最新使用方法 0.63

react-native 安卓动态调整 android:windowSoftInputMode"stateAlwaysHidden|adjustResize" 键盘模式最近尝试使用, 还能正常工作, 最新的react-native0.63依然可以正常使用, 方法如下:npm install --save react-native-android-keyboard-adjust1.2.0 装包复制 Andro…

屏蔽在线视频广告的方法

原理是改hosts的! 第一步:找到C:\WINDOWS\system32\drivers\etc里面的hosts文件,双击打开,选用记事本打开。 #优酷 127.0.0.1 atm.youku.com 127.0.0.1 Fvid.atm.youku.com 127.0.0.1 html.atm.youku.com 127.0.0.1 valb.atm.youku.com …

android批处理脚本,BAT批处理一键生成APK包脚本分享

BAT批处理一键生成APK包脚本分享将本bat放到cocos2dx目录下你的工程的project.android下(需修改变量)。ASmaker 用来将Resources文件夹下的lua文件批量加密 算法参考我之前的rc4算法实现。每次打包apk前 svn 最新的工程代码 和 cocos2dx引擎代码。echo offrem 工具路径set JAVA…

智能产品AI服务智商的权重研究|未来研究

作者:刘锋 计算机博士 互联网进化论作者前言:本文是未来智能实验室关于智能产品智商的最新研究文章,在提出人工智能的三种智商后,通过德尔菲法,对智能产品AI 服务智商的权重进行了确定,为2018年智能产品的…

前端 html5 css3 框架,UI,分享,CSS3,HTML5,前端框架

随着HTML5和CSS3以及网页设计布局的全面翻新创新改革。让很多网页设计者和界面设计师都知道一个道理。就是去掌握一套对应的工具包。这不仅仅是未来提高工作的效率,还能更好的去处理网页整体视觉效果。界面也可以做得更有交互性。优秀的工具包可以让您的工作事半功倍…

深入理解闭包

详细出处参考:http://www.jb51.net/article/24101.htm 一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言的特殊之处,就在于函数内部可…

机器视觉行业的现状和未来

来源:科济天下网概要:在智能制造过程中,机器视觉主要用计算机来模拟人的视觉功能,也就是把客观事物的图像信息提取、处理并理解,最终用于实际检测、测量和控制。实现“中国制造2025”,完成从制造大国向制造…

学计算机专业的自荐信,浙江大学(计算机类)自主招生自荐信范文

浙江大学(计算机类)自主招生自荐信范文尊敬的浙江大学的招生办老师:您好!我是来自浙江省XX中学高三(8)班的XXX 。感谢您耐心看完我的个人申请资料。我身为一个浙江人,心目中的理想大学自然是浙江大学。“求是,创新。”是浙大的校训&#xff0…

代数拓扑的数学方法正在变革脑科学

来源: 中国数学会概要:没有人彻底了解大脑各部分间的连接图全貌,但是代数拓扑的工具正逐渐帮助人们管中窥豹。没有人彻底了解大脑各部分间的连接图全貌,但是代数拓扑的工具正逐渐帮助人们管中窥豹。人的连接体指的是大脑中不同部分…

网络统考计算机操作题需要保存不,统考计算机操作题技巧.doc

word文档 可自由复制编辑《计算机应用基础》操作题复习方法?考试考操作题,电脑是根据你的操作步骤给分,不是直接写答案就有分的,所以计算机操作题部分必须要做一定的练习才能掌握,以下为各部分的详细解题方法。《英语B》统考复习…

mysql 字符设置与修改

【知识性文章转载】MYSQL 字符集问题MySQL的字符集支持(Character Set Support)有两个方面:字符集(Character set)和排序方式(Collation)。对于字符集的支持细化到四个层次:服务器(server),数据库(database),数据表(table)和连接(connection)…

深度|机器学习到底能替人干哪些工作?《科学》列出了8条评估标准

来源: 机器人大讲堂对于AI会取代哪些人类工作的猜测,也许可以暂时停一停了。最近,两位来自MIT和CMU的研究者在一篇论文中提出了一种预测那些“脆弱“工作的方式。他们认为,机器学习并不代表人类工作的终结,但它会对经济…