美文网首页
拿到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