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 这一行
  1. @fopen("../data/phpyun.lock","w+");

改为

  1. @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. python的内置模块之os模块方法详解以及使用

    1.getcwd() 获取当前工作路径 import os print(os.getcwd()) C:\python35\python3.exe D:/pyproject/day21模块/os模块.p ...

  2. vue ssr服务端渲染

    SSR:Server Side Rendering(服务端渲染) 目的是为了解决单页面应用的 SEO 的问题,对于一般网站影响不大,但是对于论坛类,内容类网站来说是致命的,搜索引擎无法抓取页面相关内容 ...

  3. Struts2_day01

    一.内容大纲 1 struts2概述 (1)应用在web层 2 struts2入门案例 3 struts2底层执行过程 4 struts2相关配置 (1)struts.xml配置 - package. ...

  4. 关于Cookie跨域的问题

    Cookie是一个伟大的发明,它允许Web开发者保留他们的用户的登录状态.但是当你的站点有一个以上的域名时就会出现问题了.在Cookie规范上说,一个cookie只能用于一个域名,不能够发给其它的域名 ...

  5. 20155314 2016-2017-2 《Java程序设计》第5周学习总结

    20155314 2016-2017-2 <Java程序设计>第5周学习总结 教材学习内容总结 理解异常架构 牚握try...catch...finally处理异常的方法 会用throw, ...

  6. 第7月第12天 opengles background

    1. After your app exits its applicationDidEnterBackground: method, it must not make any new OpenGL E ...

  7. 20165320 2017-2018-2《Java程序设计》课程总结

    20165320 2017-2017-2<Java程序设计>课程总结 一.每周作业链接汇总 1.我期待的师生关系 20165320 我期望的师生关系 2.学习基础和C语言基础调查 2016 ...

  8. Centos: -bash: unzip: command not found

    安装命令:yum install -y unzip zip 同时安装unzip和zip

  9. Newtonsoft 反序列化字符串

    string json=“[{“name”:”zhangsan”,”age”:”12”},{“name”:”zhangsan”,”age”:”12”}]” 方法1: JArray arr = (JAr ...

  10. Python_oldboy_自动化运维之路_面向对象2(十)

    本节内容: 面向对象程序设计的由来 什么是面向对象的程序设计及为什么要有它 类和对象 继承与派生 多的态与多态性 封装 静态方法和类方法 面向对象的软件开发 反射 类的特殊成员方法 异常处理 1.面向 ...