审计篇丨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

 

 

 

跑了一段时间,发现有结果了。

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

 

分析

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没做任何过滤。

以上是今天要分享的全部内容,大家学会了吗?

转载于:https://www.cnblogs.com/ichunqiu/p/10768949.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Mac系统下的PHPcms审计,你可以按照以下步骤进行: 1. 确认版本:首先确定你要审计PHPcms的版本号。不同的版本可能存在不同的漏洞和安全问题。 2. 漏洞研究:查找已知的漏洞和安全问题,尤其关注最近公开的漏洞报告和安全公告。这些信息通常可以在PHPcms的官方网站、安全论坛、专业安全网站或漏洞数据库上找到。 3. 代码分析:仔细分析PHPcms的源代码,尤其是与用户输入和数据库交互相关的部分。寻找潜在的安全漏洞,如SQL注入、跨站脚本攻击(XSS)、文件包含、远程代码执行等。 4. 配置审查:检查PHPcms的配置文件和服务器环境设置,确保安全设置正确。例如,禁用不必要的功能、限制文件上传类型和大小、设置严格的文件权限等。 5. 安全测试:使用合适的工具进行安全测试,如Web应用程序扫描器、漏洞扫描器等。这些工具可以帮助你自动发现一些已知的安全问题。 6. 补丁和更新:确保PHPcms和相关组件都是最新版本,并及时应用官方发布的安全补丁和更新。 7. 日志监控:配置合适的日志记录和监控机制,以便及时发现异常事件和攻击行为。 请注意,以上只是一般的审计步骤,具体的审计方法和工具选择可能会因PHPcms版本、具体需求和环境而有所不同。建议在进行审计之前,先了解相关的安全知识,并遵循合理的安全审计流程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值