转自http://hi.baidu.com/davice_li/blog/item/5f5b470be3307e32b0351db5.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 FilesMYSQLMYSQL Server 5.0data”下。

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

在MYSQL数据库中所有设置默认都保存在“C:Program FilesMYSQLMYSQL Server 5.0dataMYSQL”中,也就是安装程序的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位。

]

MYSQL数据库密码的加密方式及破解方法相关推荐

  1. 详解MYSQL数据库密码的加密方式及破解方法(1)

    转自 http://hi.baidu.com/davice_li/blog/item/5f5b470be3307e32b0351db5.html MySQL数据库用户密码跟其它数据库用户密码一样,在应 ...

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

    MYSQL加密方式:http://blog.csdn.net/listeningsea/article/details/8139641

  3. [转]常见的用户密码加密方式以及破解方法

    [作者]张辉,就职于携程技术中心信息安全部,负责安全产品的设计与研发. 作为互联网公司的信息安全从业人员经常要处理撞库扫号事件,产生撞库扫号的根本原因是一些企业发生了信息泄露事件,且这些泄露数据未加密 ...

  4. 修改servu数据库密码 servu加密方式

    项目要求可以有用户自行修改servu密码.servu可以通过odbc访问access\mysql\sqlserver数据库.我们直接通过创建web来修改就可以了. 不过问题来了,密码是加密的...通过 ...

  5. MySQL数据库密码破解

    研究MySQL数据库的加解密方式,在网络攻防过程中具有重要的意义:试想一旦获取了网站一定的权限后,如果能够获取MySQL中保存用户数据,通过解密后,即可通过正常途径来访问数据库:一方面可以直接操作数据 ...

  6. db 文件 加密_有人说Kettle 数据库JNDI方式数据库密码不能加密,搞他!

    Kettle 数据库JNDI方式数据库密码不能加密,搞他! 1新建数据库连接 1.1 普通局部变量 Step 1: 选择连接类型,这里选择Oracle Step 2: 连接方式选择Native(JDB ...

  7. django 不用自带的mysql_21_django配置使用mysql数据库的两种方式

    配置django项目使用mysql数据库的两种方式 1. 直接在settings.py 文件中添加数据库配置信息 # 配置数据库的第一种方式 DATABASES = { 'default': { 'E ...

  8. MySQL数据库密码忘了,怎么修改密码,找回密码。

    MySQL数据库密码忘了,怎么修改密码,找回密码. 当我们忘记mysql数据库密码时我们就无法正常进入数据库,也就无法修改密码,那么这时该怎么修改密码呢,这里教大家一个简单常用修改密码的方式. 1.打 ...

  9. docker修改mysql数据库密码,redis密码

    1. docker修改mysql数据库密码 docker.cnf是宿主机的文件 第一次内容:vim docker.cnf [mysqld] skip-host-cache skip-name-reso ...

最新文章

  1. Nginx Kafka数据生产接口
  2. 列表嵌套字典,根据字典某一key排序
  3. java的sql的like_[Java教程]SQL like 模糊查询, in
  4. saltstack部署java应用失败无日志——CICD 部署
  5. 策略模式,工厂模式,单例模式编写身份证的验证算法
  6. 里签名boot有什么用_为什么大家都用苹果企业签名呢?
  7. 引用是变量的别名,不是常量的别名
  8. linux操作系统shell脚本编程实验报告,Linux操作系统实验报告|linux实验报告总结
  9. 以撒的结合:胎衣+(启示录Revelations MOD)不起作用失效(道具可以捡但是没作用失效等)
  10. 颜值测试API,微软小冰颜值,颜值API
  11. STM32F030F4驱动TIM1637数码管芯片
  12. win7蓝牙热点自动断开
  13. 「算法学习」:求平方根
  14. 关于typora的天坑
  15. redis-manger集群管理工具
  16. 故障电路指示灯行业研究及十四五规划分析报告
  17. 猴子吃桃问题【Java】
  18. 阿里巴巴十年Java架构师分享,会了这个知识点的人都去BAT了
  19. CSS---‘样式’基础用法 与 案例
  20. paypal里的钱怎么取出来?

热门文章

  1. Spring 工作原理
  2. liunx下查看tomcat占用的端口号
  3. JDK8与JDK9新特性学习
  4. Transact-SQL(T-SQL)编程
  5. pwm占空比的c语言编程详解,盘点占空比、PWM、GPIO三者含义及原理分析
  6. 微型计算机控制数字量输入输出,[工学]WX_微型计算机控制技术_第二章5.ppt
  7. 如何利用TFTP协议发动DDoS放大攻击
  8. MATLAB程序设计与应用 4.1 M文件
  9. RGB-D立体视觉导航之图像预处理
  10. Vim 分屏功能+无插件Vim编程技巧