国内 很多 网址 都 喜欢 使用phpMyAdmin来 管理 MySQL数据库
而且多数 可以 通过phpMyAdmin 完全操控Mysql数据库。
phpMyAdmin功能常强大
可以执行 操作系统 命令,导入或者导出数据库
一般会存在Root密码过于简单,代码泄露``Mysql配置等漏洞
通过一些技术手段 ,多数能获取网站webshell,甚至是服务器权限。
phpMyAdmin在一些流行架构中大量使用,例如phpStudy、phpnow、Wammp、Lamp、Xamp等,
这些架构的默认密码为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.php、t.php、tz.php、1.php`` test.php、info.php等。2.出错页面获取法
通过页面出错来获取。有些代码文件直接访问时会报错,其中会包含真实的物理路径。
thinkphp架构访问页面一般都会报错,通过构造不存在的页面,得到泄露目录信息
逐个访问代码文件获取真实路径。3.
load_file函数读取网站配置文件
通过mysqlload_file函数读取配置文件。
/etc/passwd文件会提示网站的真实路径,
然后通过读取网站默认的index.php等文件来判断是否是网站的真实目录和文件4.查看数据库表内容获取
在一些CMS系统中,有些会保存网站配置文件,或者网站正式路径地址
通过phpmyadmin进入数据库查看各配置库表以及保存有文件地址的表即可获取。5.进入后台查看
有些系统会在后台生成网站运行基本情况,
这些基本情况会包含网站的真实路径,也有一些是运行phpinfo函数。6.百度搜索出错信息
通过百度搜索引擎、zoomeye.org、shadon等搜索
关键字error、waring等,通过访问页面来获取。
三 .phpMyAdmin漏洞防范方法
使用phpinfo来查看环境变量后,尽量在用后及时将其删除,避免泄露真实路径。
使用Lamp架构安装时,需要修改其默认root帐号对应的弱口令密码root。以及admin/wdlinux.cn。
LAMP集成了proftpd,默认用户是nobody,密码是lamp,安装完成后也需要修改。
如果不是经常使用或者必须使用phpMyadmin,则在安装完成后可删除。
严格目录写权限,除文件上传目录允许写权限外,其它文件及其目录在完成配置后将其禁止写权限,并在上传目录去掉执行权限。
部署系统运行后,上传无关文件,不在网站进行源代码打包,以及导出数据库文件,即使要打包备份,也使用强密码加密
设置root口令为强口令,字母大小写+特殊字符+数字,15位以上,增加破解的难度。
不在网站数据库连接配置文件中配置root账号,而是单独建立一个数据库用户,给予最低权限即可,各个CMS的数据库和系统相对独立。
定期检查Mysql数据库中的user表是否存在host为“%”的情况,plugin中是否存在不是自定义的函数,禁用plugin目录写入权限。
本文探讨了phpMyAdmin在网站管理中的安全问题,包括源代码泄露、暴力破解及真实路径获取等风险,并提出了相应的防范措施。
5762

被折叠的 条评论
为什么被折叠?



