分享

从目录遍历到getshell

 新用户36657816 2021-06-06

某游戏厂商新增了一个网站,授权让我测试一下。

前台微信登录,未找到后台,功能简单,无常规漏洞,开始目录扫描。

/_notes/dwsync.xml泄露其真实ip,物理路径,以及一个旁站。

图片

阿里云服务器,20001端口上有wdcp

图片

爆破wdcp无果,旁站似乎是测试网站,使用和主站同一套模板,但主页空白,无数据。

查看cookie发现关键词XXX,怀疑是某cms的超级魔改版本。

github上搜索cookie['XXX'],出来很多套此cms的改版,仔细对比文件,发现目标站精简了很多东西,大部分php文件都没有。不过有/kindeditor/php/demo.php

图片

KindEditor存在两个XSS漏洞,一是附件上传可以直接上传htm和html文件,二是demo.php可以POST  content1参数反射出来。

<?php $htmlData = ''; if (!empty($_POST['content1'])) { if (get_magic_quotes_gpc()) { $htmlData = stripslashes($_POST['content1']); } else { $htmlData = $_POST['content1']; } }?><?php echo $htmlData; ?>

这是都是最鸡肋的反射XSS,属于凑漏洞的。

但我发现这个cms的KindEditor还有一个漏洞,目录遍历。

漏洞发生在file_manager_json.php,这个文件是用来浏览已上传的文件的。

$php_path = dirname(__FILE__) . '/';________________________________$root_path = $php_path . '../attached/';________________________________if (empty($_GET['path'])) {    $current_path = realpath($root_path) . '/';    $current_url = $root_url;    $current_dir_path = '';    $moveup_dir_path = '';}

如果不存在attached目录,realpath($root_path)就为空,$current_path就为/也就是系统根目录,那么浏览文件时就可以看到/etc,/tmp,/var等文件夹了。虽然后面有禁止../的防护,但从根目录开始浏览防护就形同虚设了。

if (preg_match('/\.\./', $current_path)) { echo 'Access is not allowed.'; exit;}

实际效果是这样的

图片

通过path=www/web/xxx/就可以进行目录遍历了。

找到后台,找到后台一些越权的查询接口,最重要的是,在旁站找到了备份文件。2020xxxxx.tar.gz

果断下载备份文件开始代码审计。File路由中存在一个uploadBase64方法

图片

没有任何校验,直接img_data=base64code&filetype=phpgetshell

图片

图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多