phpMyAdmin 漏洞利用

国内 很多 网址 都 喜欢 使用phpMyAdmin来 管理 MySQL数据库
而且多数 可以 通过phpMyAdmin 完全操控Mysql数据库。

phpMyAdmin功能常强大
可以执行 操作系统 命令,导入或者导出数据库

一般会存在Root密码过于简单代码泄露``Mysql配置等漏洞

通过一些技术手段 ,多数能获取网站webshell,甚至是服务器权限。

phpMyAdmin在一些流行架构中大量使用,例如phpStudyphpnowWammpLampXamp等,

这些架构的默认密码为root,如果未修改密码,极易被渗透。

一、Mysql 引起

  • 1.源代码泄露
    在有的CMS系统中,对 config.inc.php以及config.php等数据库配置文件进行编辑时,有可能直接生成bak文件,这些文件可以直接读取和下载。
    很多使用phpmyadmin的网站往往存在目录泄露,通过目录信息泄露,可以下载源代码等打包文件
    在这些打包文件或者代码泄露中 可以获取网站源代码中的数据库配置文件,从而获取root帐号密码

    建议从rar、tar.gz文件中搜索关键字config、db等。

  • 2.暴力破解
    经过实践研究可以通过burpsuit等工具对phpmyadmin的密码实施暴力破解
    甚至可以通过不同的字典 对 单个IP或者多个URL进行暴力破解 ,

  • 3.其它方式获取
    通过社工邮件帐号,在邮件中会保存。

二、网站被攻击的真实路径分析

  • 1.phpinfo函数获取法
    最直接获取网站真实路劲的是通过phpinfo.php也即phpinfo()函数
    在其页面中会显示网站的真实物理路径。
    phpinfo函数常见页面文件有phpinfo.phpt.phptz.php1.php`` test.phpinfo.php等。

  • 2.出错页面获取法
    通过页面出错来获取。有些代码文件直接访问时会报错,其中会包含真实的物理路径。
    thinkphp架构访问页面一般都会报错,通过构造不存在的页面,得到泄露目录信息
    逐个访问代码文件获取真实路径。

  • 3.load_file函数读取网站配置文件
    通过mysql load_file函数读取配置文件。
    /etc/passwd文件会提示网站的真实路径,
    然后通过读取网站默认的index.php等文件来判断是否是网站的真实目录和文件

  • 4.查看数据库表内容获取
    在一些CMS系统中,有些会保存网站配置文件,或者网站正式路径地址
    通过phpmyadmin进入数据库查看各配置库表以及保存有文件地址的表即可获取。

  • 5.进入后台查看
    有些系统会在后台生成网站运行基本情况,
    这些基本情况会包含网站的真实路径,也有一些是运行phpinfo函数

  • 6.百度搜索出错信息
    通过百度搜索引擎zoomeye.orgshadon等搜索
    关键字errorwaring等,通过访问页面来获取。

三 .phpMyAdmin漏洞防范方法

  1. 使用phpinfo来查看环境变量后,尽量在用后及时将其删除,避免泄露真实路径。

  2. 使用Lamp架构安装时,需要修改其默认root帐号对应的弱口令密码root。以及admin/wdlinux.cn。

  3. LAMP集成了proftpd,默认用户是nobody,密码是lamp,安装完成后也需要修改。

  4. 如果不是经常使用或者必须使用phpMyadmin,则在安装完成后可删除。

  5. 严格目录写权限,除文件上传目录允许写权限外,其它文件及其目录在完成配置后将其禁止写权限,并在上传目录去掉执行权限。

  6. 部署系统运行后,上传无关文件,不在网站进行源代码打包,以及导出数据库文件,即使要打包备份,也使用强密码加密

  7. 设置root口令为强口令,字母大小写+特殊字符+数字,15位以上,增加破解的难度。

  8. 不在网站数据库连接配置文件中配置root账号,而是单独建立一个数据库用户,给予最低权限即可,各个CMS的数据库和系统相对独立。

  9. 定期检查Mysql数据库中的user表是否存在host为“%”的情况,plugin中是否存在不是自定义的函数,禁用plugin目录写入权限。

你可能感兴趣的:(日常学习)