0x00
之前在t00ls上看到的,漏洞原理很简单,但是都是细节问题,很值得去学习。
感谢bypass师傅。
也发了邮件给官方,但没有任何回复,估计是漏洞作者bypass师傅报备了吧。
 
0x01
经测试该漏洞影响从4.3到 4.5 所有版本,4.2部分版本受影响,4.2最终版本不受影响。具体情况请自行测试。
 
0x02
漏洞原理:
看到install 文件夹里的index.php,这里分php5,php7两种情况进行调用安装。
 
以php5为例。
文件 根目录/install/php5/install.php 代码中:
先判断了是否存在lock文件,存在即退出安装。
 
其中S_ROOT这个常量是在前面index.php文件中定义的。
取得是当前文件的绝对路径。拼接起来,检测的lock文件位置应该是 根目录/install/data/phpyun.lock。
 
这里没什么问题。
 
按照正常安装走完,看到最后一步
创建lock文件,这里用的是相对路径。install.php是被index.php 用require的模式调用的。
取得路径应该是 根目录/install/,按照上图的路径创造的lock文件应该是放至于 根目录/data/phpyun.lock。
 
创建的lock文件路径是 根目录/data/phpyun.lock,检测的路径却是 根目录/install/data/phpyun.lock
 
那么一个重装的安全隐患就埋下了。
 
当用户安装完成之后,是可以被无限重装的,因为这个路径错误问题。
 
以本地phpyun4.3 已经安装完成系统为例,是可以被重装的。
最新版phpyun 4.5这里的代码和4.3是一样的。
 
 
phpyun 4.2 版本
处理逻辑不一样,这个版本不受影响。
 
经测试phpyun 4.2某些版本依旧是受影响的。
 
0x03
网上一些系统:
官方测试站,版本phpyun 4.2111:
 
某招聘网,版本phpyun 4.3
 
0x04 
先谈谈修复,修复很简单,已经装了的用户,只需把install目录给删了就行。
 
还没有安装的新用户,把php7 和php5 下的两个install.php 这一行
@fopen("../data/phpyun.lock","w+");

改为

@fopen(S_ROOT."/data/phpyun.lock","w+");

即可。

总的来说,漏洞影响还是挺大的,无论是漏洞的威力还是广度,
 
重装可以毁掉数据,也可以getshell。
 
只是因为一个小点就造成了重大的问题,果真安全无小事,从每一个小地方做起。

[漏洞分析]phpyun系统重装安全隐患#影响从phpyun4.2部分,4.3到4.5全版本的更多相关文章

  1. 【Android漏洞复现】StrandHogg漏洞复现及原理分析_Android系统上的维京海盗

    文章作者MG1937 CNBLOG博客:ALDYS4 QQ:3496925334 0x00 StrandHogg漏洞详情 StrandHogg漏洞 CVE编号:暂无 [漏洞危害] 近日,Android ...

  2. CVE-2014-1767 漏洞分析(2015.1)

    CVE-2014-1767 漏洞分析 1. 简介 该漏洞是由于Windows的afd.sys驱动在对系统内存的管理操作中,存在着悬垂指针的问题.在特定情况下攻击者可以通过该悬垂指针造成内存的doubl ...

  3. CPU Meltdown和Spectre漏洞分析

    一.背景: 1月4日,国外爆出了整个一代处理器都存在的灾难性漏洞:Meltdown和Spectre. 几乎影响了全球20年内所有cpu处理器:这两个漏洞可以使攻击者通过利用并行运行进程的方式来破坏处理 ...

  4. cve-2015-1635漏洞分析

    上周(2015.4.15)爆出的cve-2015-1635漏洞,遂分析一番,留作记录.使用poc如下. wget 192.168.16.168/welcome.png --debug --header ...

  5. CVE-2016-0143 漏洞分析(2016.4)

    CVE-2016-0143漏洞分析 0x00 背景 4月20日,Nils Sommer在exploitdb上爆出了一枚新的Windows内核漏洞PoC.该漏洞影响所有版本的Windows操作系统,攻击 ...

  6. Java反序列化漏洞分析

    相关学习资料 http://www.freebuf.com/vuls/90840.html https://security.tencent.com/index.php/blog/msg/97 htt ...

  7. CVE-2014-4115漏洞分析(2014.11)

    CVE-2014-4115漏洞分析 一.简介 该漏洞是由于Windows的Fastfat.sys组件在处理FAT32格式的硬盘分区存在问题.攻击者利用成功可导致权限提升. 影响的系统包括: Windo ...

  8. struts2 s2-032漏洞分析

    0x01Brief Description 最近面试几家公司,很多都问到了s2漏洞的原理,之前调试分析过java反序列化的漏洞,觉得s2漏洞应该不会太难,今天就分析了一下,然后发现其实漏洞的原理不难, ...

  9. ECShop全系列版本远程代码执行高危漏洞分析+实战提权

    漏洞概述 ECShop的user.php文件中的display函数的模版变量可控,导致注入,配合注入可达到远程代码执行.攻击者无需登录站点等操作,可以直接远程写入webshell,危害严重. 漏洞评级 ...

随机推荐

  1. Linux掉电处理

    在嵌入式设备中,掉电处理一直是一项比较麻烦的工作,在具有Linux系统的设备中,系统的种种数据的处理更是增加掉电处理的难度.现在做以下几点总结,再遇到类似问题可以做个参考. 1,系统启动的处理 在系统 ...

  2. SpringJMS解析--使用示例

    Spring配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="h ...

  3. Kafka 温故(三):Kafka的内部机制深入(持久化,分布式,通讯协议)

    一.Kafka的持久化 1.数据持久化:     发现线性的访问磁盘(即:按顺序的访问磁盘),很多时候比随机的内存访问快得多,而且有利于持久化:     传统的使用内存做为磁盘的缓存     Kafk ...

  4. HTML5 JavaScript实现图片文字识别与提取

    8月底的时候,@阿里巴巴 推出了一款名为“拯救斯诺克”的闯关游戏,作为前端校园招聘的热身,做的相当不错,让我非常喜欢.后来又传出了一条消息,阿里推出了A-star(阿里星)计划,入职阿里的技术培训生, ...

  5. opacity设定图片透明度

    实例 1 - 创建透明图像 定义透明效果的 CSS3 属性是 opacity. 首先,我们将展示如何通过 CSS 来创建透明图像. 常规图像: 带有透明度的相同图像: 请看下面的 CSS: img { ...

  6. Ubuntu接显示器问题

    1.Could not apply the stored configuration for monitors 解决办法:Ubuntu在开机进入桌面的时候,会调用gnome-setting-deamo ...

  7. 【最简单的方法】js判断字符串是否为JSON格式(20180115更新)

    前言 针对 “js判断字符串是否为JSON格式” 这个问题,在网上查了许多资料,都没找到自己想要的答案. 但是看到这个帖子<js判断字符串是否为JSON格式>后,突然灵光一闪,想到一种很简 ...

  8. 重装Ubuntu时如何保留/home分区中的数据

    重装Ubuntu时如何保留/home分区中的数据作者:maowang Windows系统可以在重装时只格式化C盘,从而保留其他分区的数据. Ubuntu系统也可以,只要在安装系统时分出一个/home分 ...

  9. Fiddler 常用功能总结

    1.fiddler相关配置   2.如何抓包 移动端 ①保持手机和电脑处于同一网络中 ②设置手机的代理为电脑当前所处网络的IP,端口号为:8888,eg:10.12.1.64:8888. ③ 启动ap ...

  10. ajax最基础入门

    1.介绍 AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重 ...