Phpstudy被暴存在隐藏后门-检查方法
Phpstudy被暴存在隐藏后门-检查方法
一、事件背景
Phpstudy软件是国内的一款免费的PHP调试环境的程序集成包,通过集成Apache、PHP、MySQL、phpMyAdmin、ZendOptimizer多款软件一次性安装,无需配置即可直接安装使用,具有PHP环境调试和PHP开发功能,在国内有着近百万PHP语言学习者、开发者用户。
9月20日杭州公安微信公众账号发布了“杭州警方通报打击涉网违法犯罪暨“净网2019”专项行动战果”的文章,文章里说明phpstudy存在“后门”。
二、影响版本
phpstudy 2016版PHP5.4存在后门(软件作者声明)。
实际实际测试官网下载phpstudy2018版php-5.2.17和php-5.4.45也同样存在后门
三、后门检测方法
1、看官网发表声明说只要从官网下载的都不存在漏洞(套路深~~~~~~~)

2、哎呀,吓得的我赶紧查一下自己的电脑从官网下载安装的phpstudy有没有后门。
通过分析,后门代码存在于\ext\php_xmlrpc.dll模块中
phpStudy2016和phpStudy2018自带的php-5.2.17、php-5.4.45
phpStudy2016路径
php\php-5.2.17\ext\php_xmlrpc.dll
php\php-5.4.45\ext\php_xmlrpc.dll
phpStudy2018路径
PHPTutorial\php\php-5.2.17\ext\php_xmlrpc.dll
PHPTutorial\php\php-5.4.45\ext\php_xmlrpc.dl
用记事本打开此文件查找@eval,文件存在@eval(%s(‘%s’))证明漏洞存在
附后门文件MD5值:
MD5: 0F7AD38E7A9857523DFBCE4BCE43A9E9
MD5: C339482FD2B233FB0A555B629C0EA5D5
3、手工分析
3.1、查看phpstudy2016 php 5.4.45版本中是否存在漏洞,说明存在后门

3.2、使用在线计算文件md5,查看疑似后门文件的md5,发现MD5值确实是后门文件的md5值。

3.3、查看phpstudy2016 php 5.2.17版本中是否存在漏洞,发现存在后门

3.4、使用在线计算文件md5,查看疑似后门文件的md5,发现MD5值确实是后门文件的md5值。

3.5、查看phpstudy2018 php 5.2.17版本中是否存在漏洞,说明存在后门

3.6、使用在线计算文件md5,查看疑似后门文件的md5,发现MD5值确实是后门文件的md5值。(0f7ad38e7a9857523dfbce4bce43a9e9)
3.7、查看phpstudy2018 php 5.4.45版本中是否存在漏洞,说明存在后门

3.8、使用在线计算文件md5,查看疑似后门文件的md5,发现MD5值确实是后门文件的md5值。(c339482fd2b233fb0a555b629c0ea5d5)
四、修复方法
1、可以从PHP官网下载原始php-5.4.45版本或php-5.2.17版本,替换其中的php_xmlrpc.dll
https://windows.php.net/downloads/releases/archives/php-5.2.17-Win32-VC6-x86.zip
https://windows.php.net/downloads/releases/archives/php-5.4.45-Win32-VC9-x86.zip
2、目前phpstudy官网上的版本不存在后门,可在phpsudy官网下载安装包进行更新
Phpstudy被暴存在隐藏后门-检查方法的更多相关文章
- Phpstudy隐藏后门
Phpstudy隐藏后门 1.事件背景 Phpstudy软件是国内的一款免费的PHP调试环境的程序集成包,通过集成Apache.PHP.MySQL.phpMyAdmin.ZendOptimizer多款 ...
- 表单input中录入资料的检查方法及示例
本文内容 表单录入信息的检查原则 常见检查的三种方法 示例 输入框有字符长度的限制 输入框有输入字符个数范围的限制 知识补给--检查方式的介绍 输入框只可(或不可)输入数 ...
- phpStudy启动失败时的解决方法
phpStudy启动失败时的解决方法 phpStudy启动失败,原因一是防火墙拦截,二是80端口已经被别的程序占用,如IIS,迅雷等:三是没有安装VC9运行库,php和apache都是VC9编译.解决 ...
- 一种奇特的DEDE隐藏后门办法
转自:http://www.91ri.org/6462.html 一种奇特的DEDE隐藏后门办法 单位某站用的dedecms,今天被某黑阔getshell了,提交到了wooyun. 为了还原黑阔入 ...
- 程氏CMS去掉静态页面的隐藏性版权方法
程氏CMS去掉静态页面的隐藏性版权方法 实例如图: 因为之前自己找了好久都没找到这俩代码写在那个文件夹的,经过跟csqq8讨论了也没有得到结果,今天突然发现,原来这些代码都经过base64加密,用加密 ...
- QF——UI之几种常用的隐藏键盘的方法
怎么在填写完UITextField之后,点击空白处,隐藏软键盘. 下面两个方法都可以隐藏键盘 [tf resignFirstResponder]; 停止textfield的第一响应者 [self.vi ...
- iOS 使用 UIMenuController 且不隐藏键盘的方法
iOS 使用 UIMenuController 且不隐藏键盘的方法 在键盘显示的时候使用 UIMenuController 弹出菜单,保持键盘显示且可输入的状态. 实现方法有 修改响应链(推荐) 遵循 ...
- css之隐藏内容的方法
css隐藏内容的方法有三种:即display:none.visibility:hidden.overflow:hidden. 1.display:none;的缺陷: 搜索引擎可能认为被隐藏的文字属于垃 ...
- oracle11g dataguard 备库数据同步的检查方法
概述: 一.环境 主库: ip地址:192.168.122.203 oracle根目录:/data/db/oracle SID:qyq 数据文 ...
随机推荐
- 使用PowerShell 测试DNS
运行环境:Windows Server 2012 R2 获取服务器DNS命令,下面的仅获取一个dns (nslookup sql.ciras.com)[1].split(':')[1].trim() ...
- linux+jenkins+python+svn 自动化测试集成之路
本文背景: 背景1---个人基础: 本机win7上安装pycharm,使用python搭建API自动化测试框架,本地运行Pass.本机上搭建jenkins,创建测试任务,定时构建Pass. 背景2-- ...
- hive explode 行拆列
创建一张表test_explode,表结构如下 表数据如下: 1.使用explode函数 select explode(friends) as friend from test_explode; 但是 ...
- SpringBoot:实现定时任务
一.定时任务实现的几种方式: Timer 这是java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务.使用这种方式可以让你的程序按照某一个频度执 ...
- 基于python的mysql复制工具
一简介 python-mysql-replication 是由python实现的 MySQL复制协议工具,我们可以用它来解析binlog 获取日志的insert,update,delete等事件 ,并 ...
- 翻牌动画(CocosCreator)
推荐阅读: 我的CSDN 我的博客园 QQ群:704621321 在游戏中,有时候为了通过一种有意思的途径,让用户在一些物品中随机获取某种物品,除了前面我们提到的使用大转盘抽奖获得, ...
- Oracle数据库测试和优化最佳实践: OTest介绍 (转)
当前Oracle数据库最佳测试工具OTest * Otest是用于Oracle数据库测试.优化.监控软件. * Otest是免费提供给Oracle客户和广大DBA工程师使用的软件.由原厂技术专家王 ...
- Flink的Job启动TaskManager端(源码分析)
前面说到了 Flink的JobManager启动(源码分析) 启动了TaskManager 然后 Flink的Job启动JobManager端(源码分析) 说到JobManager会将转化得到 ...
- 骑士精神(IDA*)
题目描述 输入格式 第一行有一个正整数T(T<=10),表示一共有N组数据.接下来有T个5×5的矩阵,0表示白色骑士,1表示黑色骑士,*表示空位.两组数据之间没有空行. 输出格式 对于每组数据都 ...
- Spring源码解析之ConfigurableApplicationContext
UML图 接口的作用 从上面的UML图中,可以看到 ConfigurableApplicationContext 直接继承了 ApplicationContext, Lifecycle, Closea ...