CVE-2018-12613(phpMyAdmin远程文件包含)-HCTF-2018-WarmUp
2021-02-12 02:19
标签:内容 https white 匹配 png dex class 链接 问题 ? phpMyAdmin是phpMyAdmin团队开发的一套免费的、基于Web的MySQL数据库管理工具。该工具能够创建和 删除数据库,创建、删除、修改数据库表,执行SQL脚本命令等。 ? phpMyAdmin 4.8.2之前的4.8.x版本中存在安全漏洞。攻击者可利用该漏洞包含(查看并可能执行)服务器上的文件。 下载phpMyAdmin-4.8.1的安装包,解压找到出现问题的代码./index.php: 通过代码可以看到,只要绕过55行~60行的检查,就可执行61行的文件包含代码。 第55行,参数target不能为空。 第56行,参数target必须是字符串。 第57行,通过正则匹配规定参数target不能以index开头。 第58行,参数target不能在$target_blacklist(50-51行)中,即target不能为‘import.php‘和‘export.php‘。 第59行,Core::checkPageValidity($_REQUEST[‘target‘])返回为True。 找到checkPageValidity的代码./libraries/classes/Core.php: 通过代码分析,可以发现突破点是让checkPageValidity函数返回True,可以发现返回True的情况有三种(根据注释可以具体分析)。下面根据url解码进行绕过分析: 比如传入: 服务器自动解码一次,所以传入checkPageValidity函数中时,$page为db_sql.php%3f,再经过urldecode()函数解码一次,变为db_sql.php?,符合?前内容文件在白名单的要求,函数返回true。但$target参数仍然是db_sql.php%3f,可以绕过检测,造成文件包含漏洞。 进入靶场环境,查看源代码寻找有用信息: 访问/source.php,看到源代码: 看到$whitelist还有一个hint.php: 提示flag在ffffllllaaaagggg。 继续审计source.php,可以发现基本上与phpMyAdmin的代码一样,这里可以借助urldecode()二次解码进行绕过。 构造payload: 回退4个以上目录才能访问到ffffllllaaaagggg: 这里传入: 也是可以绕过的,因为这样符合$page?之前的参数在$whitelist中,函数返回true。 下载官方补丁或升级到最新版 https://mp.weixin.qq.com/s/HZcS2HdUtqz10jUEN57aog CVE-2018-12613(phpMyAdmin远程文件包含)-HCTF-2018-WarmUp 标签:内容 https white 匹配 png dex class 链接 问题 原文地址:https://www.cnblogs.com/Son01/p/12957753.html漏洞简介
漏洞分析
?target=db_sql.php%253f
漏洞复现(HCTF 2018 Warm Up)
"source.php","hint"=>"hint.php"];
if (! isset($page) || !is_string($page)) {
echo "you can‘t see it";
return false;
}
if (in_array($page, $whitelist)) {
return true;
}
$_page = mb_substr(
$page,
0,
mb_strpos($page . ‘?‘, ‘?‘)
);
if (in_array($_page, $whitelist)) {
return true;
}
$_page = urldecode($page);
$_page = mb_substr(
$_page,
0,
mb_strpos($_page . ‘?‘, ‘?‘)
);
if (in_array($_page, $whitelist)) {
return true;
}
echo "you can‘t see it";
return false;
}
}
if (! empty($_REQUEST[‘file‘])
&& is_string($_REQUEST[‘file‘])
&& emmm::checkFile($_REQUEST[‘file‘])
) {
include $_REQUEST[‘file‘];
exit;
} else {
echo "
";
}
?>
source.php?file=hint.php%253f../../../../../ffffllllaaaagggg
source.php?file=hint.php?../../../../../ffffllllaaaagggg
漏洞修复
参考链接
https://github.com/0x00-0x00/CVE-2018-12613
文章标题:CVE-2018-12613(phpMyAdmin远程文件包含)-HCTF-2018-WarmUp
文章链接:http://soscw.com/index.php/essay/54265.html