SINE安全公司在对phpcms2008网站代码进行安全检测与审计的时候发现该phpcms存在远程代码写入缓存文件的一个SQL注入漏洞,该phpcms漏洞危害较大,可以导致网站被黑,以及服务器遭受黑客的攻击,关于这次发现的phpcms漏洞细节以及如何利用提权我们来详细剖析。

phpcms2008是国内深受站长建站使用的一个内容CMS管理系统,phpcms的开源话,免费,动态,静态生成,API接口,模板免费下载,自定义内容设计,可提供程序的二次开发与设计,大大方便了整个互联网站长的建站使用与优化。整个phpcms采用PHP+Mysql数据库作为架构,稳定,并发高,承载量大。

phpcms2008漏洞详情

在对代码的安全检测与审计当中,发现type.php文件代码存在漏洞,代码如下:

<?php

require dirname(__FILE__).'/include/common.inc.php';

...

if(empty($template)) $template = 'type';

...

include template('phpcms', $template);

...

?>

以上代码if(empty($template)) 在进行变量定义的时候可以跟进来看下,通过extract进行变量的声明与注册,如果当前的注册已经有了,就不会覆盖当前已有的声明,导致可以变量伪造与注入。

我们再来跟踪该代码找到template函数,看到调用到了include目录下的global.func.php文件,该代码里的function template会对传递过来的定义值进行判断,默认TPL_REFRESH是为1的参数值,也就是说自动开启了模板缓存功能。当需要更新缓存的时候就会先判断有没有变量注册,如果有就会进行更新缓存。

该漏洞利用的就是缓存的更新,将网站木马代码插入到缓存文件当中去。可以看出$template没有进行过滤就可以直接写入到缓存模板中,我们可以指定TAG内容,post提交过去,如下代码:

我们在自己的本地电脑搭建了一套phpcms2008系统的环境,进行漏洞测试,提交post参数过去,我们看下本地的漏洞结果,可以执行phpinfo代码。也可以插入一句话木马后门进行上传webshell。

phpcms漏洞修复与安全建议

目前phpcms官方已经修复该漏洞,请各大网站运营者尽快升级phpcms2008到最新版本,有些二次开发的网站可以针对缓存目录进行安全限制,禁止PHP脚本文件的执行,data,cache_template目录进行安全加固部署,对网站上的漏洞进行修复,或者是对网站安全防护参数进行重新设置,使他符合当时的网站环境。如果不懂如何修复网站漏洞,也可以找专业的网站安全公司来处理,国内也就Sinesafe和绿盟、启明星辰等安全公司比较专业.

phpcms2008网站漏洞如何修复 远程代码写入缓存漏洞利用相关推荐

  1. Fastjson 爆出远程代码执行高危漏洞,更新版本已修复

    漏洞介绍 fastjson在1.2.24以及之前版本近日曝出代码执行漏洞,当用户提交一个精心构造的恶意的序列化数据到服务器端时,fastjson在反序列化时存在漏洞,可导致远程任意代码执行漏洞. 风险 ...

  2. IE浏览器远程代码执行高危漏洞(CVE-2019-1367)

    IE浏览器远程代码执行高危漏洞(CVE-2019-1367)加固遇到的问题 一.背景介绍 Internet Explorer,是微软公司推出的一款网页浏览器.用户量极大.9月23日微软紧急发布安全更新 ...

  3. 为修复一个代码执行安全漏洞,TensorFlow决定不再支持YAML

    TensorFlow是谷歌开发的基于Python的机器学习和人工智能项目.为修复一个代码执行安全漏洞,TensorFlow决定不再支持YAML.YAML(Yet Another Markup Lang ...

  4. Windows RDP远程代码执行高危漏洞加固指南

    漏洞信息 序号 漏洞类型 风险等级 漏洞主机( 操作系统及版本) 1 Windows RDP远程代码执行高危漏洞 高 Windows     2. 漏洞加固实施 漏洞1:Windows RDP远程代码 ...

  5. Python 紧急修复远程代码执行漏洞

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 Python 软件基金会 (PSF) 紧急推出 Python 3.9.2 和 3.8.8 稳定版,解决两个严重的安全缺陷,其中一个从理 ...

  6. Drupal 修复远程代码执行漏洞

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 周三,Drupal 内容管理系统 (CMS) 发布更新,修复了和不正确清理所上传文件名称有关的一个远程代码执行漏洞 (CVE-2020 ...

  7. Dubbo 高危反序列化漏洞,存在远程代码执行风险,建议及时升级到2.7.7或更高版本!...

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 以下内容转载自安全客,原文链接:https://www. ...

  8. thinkphp5运行原理_ThinkPHP5.1~5.2全版本远程代码执行高危漏洞预警

    漏洞综述 关于ThinkPHP ThinkPHP是一个快速.兼容而且简单的轻量级国产PHP开发框架,其借鉴了国外很多优秀的框架和模式,包括使用面向对象的开发结构和MVC模式,融合了Struts的思想和 ...

  9. thinkphp v5.0.11漏洞_ThinkPHP5丨远程代码执行漏洞动态分析

    ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的,在保持出色的性能和至简代码的同时,也注重易用性.但是简洁易操作也会出现漏洞,之前ThinkPHP官方修复了一个严重的远程代码执行漏 ...

最新文章

  1. 学习 JavaScript (四)核心概念:操作符
  2. RFC 4303--ESP
  3. java查询数据库以后的对齐问题
  4. 可怕又可笑的看病经历
  5. linux反调试代码,linux反调试方法
  6. java 冒泡 二分法,日常总结---冒泡排序,二分法算法 面试题
  7. 1.7-27编程基础之字符串 单词翻转
  8. SharePoint 2010新体验2 – Ribbon界面
  9. php与其它语言组合开发,PHP相对于其它语言有哪些魅力?
  10. origin三元相图_扩增子图表解读7三元图:三组差异数量和关系
  11. 1 SD配置-企业结构-定义-定义销售组织
  12. 微服务架构开发实战:如何实现微服务的自动扩展?
  13. Visual C++ 2008入门经典 第九章类的继承和虚函数(二)
  14. android pdf阅读开发
  15. 网络抓包工具之Wireshark
  16. 转载.NET技术-.NET各大网站-编程技术网址
  17. 大学生了没-20120709迅雷下载
  18. python虚拟环境是什么意思_python的虚拟环境详解
  19. 信息系统自动决策机制的使用
  20. 混合整数线性规划——切割平面

热门文章

  1. 正则设置首字母大、小写
  2. mathtype打出花体小写字母
  3. 八块腹肌是如何练成的?入门减脂训练加饮食计划
  4. Sicily 1031. Campus
  5. 【微信小程序】设置画布字体
  6. Launcher布局加载流程
  7. 100+道Java经典面试题(面中率高)
  8. 零基础能掌握seo知识吗
  9. android 9.0 c7Pro,透心凉!三星Galaxy C7 Pro上线,还内置热管
  10. HECO使用docker部署单节点的开发网