美文网首页
拿到shell怎么找mysql的密码

拿到shell怎么找mysql的密码

作者: migrate_ | 来源:发表于2019-05-08 15:30 被阅读0次

  1. 当一个php网站拿到shell之后再干什么呢,当然是提权了,怎么才能提权呢,当然是找root用户了。怎么找......
  2. 有的网站直接使用root用户,这个时候到网站的目录去找配置文件,dedecms数据库安装的信息就是写在data/common.inc.php,Discuz的数据库信息就在config/config_global_default.php、config /config_ucenter.php、config.inc.php。一般数据库配置文件都会位于config、application、conn、db等目录,配置文件名称一般会是conn.asp/php/aspx/jsp等。对于java会在/WEB-INF/config/config.properties中配置,总之通过查看源代码,进行层层分析,终究会发现数据库配置文件,root密码就躺在里边。
  3. 然而很多时候都是普通用户登录的,root网站少之有少
  4. mysql都有专门的文件保存用户的账号和密码
  5. MYSQL所有设置默认都保存在
C:\Program Files\MYSQL\MYSQL Server 5.0\data\MYSQL

也就是安装程序的data目录下,有关用户一共有三个文件即user.frm、user.MYD和 user.MYI,MYSQL数据库用户密码都保存在user.MYD文件中,包括root用户和其他用户的密码。在有权限的情况下,我们可以将User.frm、user.myd和User.myi三个文件下载到本地,通过本地的mysql环境直接读取user表中的数据。当然也可使用文本编辑器将user.MYD打开将root账号的密码复制出来到到cmd5.com进行查询和破解

  1. 当然得看具体情况我的集成环境包的路径就是
C:/phpStudy/MySQL/data/mysql/
1.jpg
  1. 找到文件还不算完,经常会碰见root密码hash密文不完整的情况


    2.jpg
  2. 把能完整显示的部分复制出来,可以先复制到txt里边


    3.jpg
81F5E21E35407D884A6CD4A7     24位
81F5E21E35407D884A6CD4A7     24位
81F5E21E35407D884A6CD4       22位
31AEBFB6AF209E1B             16位
1A731AEBFB6AF209E1B          19位
31AEBFB6AF209E1B             16位
  1. 前面带*号说明是40位加密
  2. 把所有的密文hash全部列出来,很明显24+16正好是40位


    4.jpg
  3. 这样就能得到完整的hash了
  4. 看别的大佬还有另一种方法
如果存在特殊情况:
提权时,当下载mysql的user.MYD数据库连接密码hash值无法用winhex等十六进制编辑器查看时:
本地搭建mysql,先停止本地mysql服务
将下载的user.MYD user.frm   user.MYI替换本地文件,然后
cd mysqlbin
mysqld-nt –skip-grant-tables
重新打开一个cmd
mysql -u root
select user,password from mysql.user;
自己记录下,免得忘记命令。。

相关文章

网友评论

      本文标题:拿到shell怎么找mysql的密码

      本文链接:https://www.haomeiwen.com/subject/ddnmoqtx.html