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. Spring MVC 向页面传值-Map、Model和ModelMap

    原文链接:https://www.cnblogs.com/caoyc/p/5635878.html Spring MVC 向页面传值-Map.Model和ModelMap 除了使用ModelAndVi ...

  2. keystone v3.0与2.0的区别

    参看http://blog.chinaunix.net/uid-21335514-id-3497996.html

  3. Excel:公式应用技巧汇总

    1.合并单元格添加序号:=MAX(A$1:A1)+1 不重复的个数: 公式1:{=SUM(1/COUNTIF(A2:A8,A2:A8))} 公式2:{=SUM(--(MATCH(A2:A8,A2:A8 ...

  4. ELK应用之一:ELK平台搭建部署

    一.获取安装包: EKL官网:https://www.elastic.co/products 二.安装Elasticsearch 2.1.解压安装包,在安装目录创建data和logs目录,并在配置文件 ...

  5. 通达信zig函数的python实现

    通达信zig函数的python实现 代码 # coding: utf-8 """ Created on Sat Jan 05 18:53:39 2019 http://w ...

  6. 20155203 2016-2017-2 《Java程序设计》第7周学习总结

    20155203 2016-2017-2 <Java程序设计>第6周学习总结 教材学习内容总结 1.Lambda表达式.(使用interface函数接口) 2.Lambda的方法参考Met ...

  7. [BZOJ 1652][USACO 06FEB]Treats for the Cows 题解(区间DP)

    [BZOJ 1652][USACO 06FEB]Treats for the Cows Description FJ has purchased N (1 <= N <= 2000) yu ...

  8. 20155303 2016-2017-2 《Java程序设计》课程总结

    20155303 2016-2017-2 <Java程序设计>课程总结 目录 一.每周作业及实验报告链接汇总 二.关于博客 自认为写得最好一篇博客是?为什么? 作业中阅读量最高的一篇博客是 ...

  9. Oracle错误及解决方案

    1.ORA-00257:归档程序错误.在释放之前仅限于内部链接 问题原因:归档日志占满了空间 解决方法: .增加归档日志空间 alter system set db_recovery_file_des ...

  10. mac lsof使用查看端口

    安装 brew install lsof 在Mac OS系统中,无法使用netstat来查看端口占用情况,可以使用lsof来代替,这种方式在Linux下也适用. sudo lsof -nP -iTCP ...