php反序列化网站漏洞修复指南

先来说说序列化是什么吧,序列化是将对象的状态信息转换成可以存储或传输的形式的过程。在序列化期间,将对象的当前状态写入临时或永久存储区。稍后,您可以通过从存储区读取或恢复对象的状态重新创建对象。简而言之,序列化是一种将一对象转换为一个字符串的方法,该字符串可以以特定格式在进程之间跨平台传输。

php的反序列化漏洞,php的盲点,也是一个常见的漏洞,这种漏洞充满了一些场景,虽然有些很难调用,但是成功的后果很危险。漏洞形成的根本原因是没有序列识别程序,从而导致序列字符串的检测。反序列化漏洞不仅仅存在于php中,而且还存在于java、python中。基本上是一样的原理。在java反序列化中,调用反序列化的readobject方法isalized,并在不编写readobject方法时引起漏洞。

因此,在开发过程中出现了共同的反序列化漏洞:可以绕过重写对象输入流对象的解析类方法中的检测。使用第三方类的黑名单控件。虽然java比php更加严格,但几乎不可能使用黑名单机制禁用大型应用程序中的所有危险对象。因此,如果在审计过程中发现使用黑名单过滤的代码,那么大多数代码都有一两条可以被利用的代码。而黑名单方法只能确保当前的安全性,如果稍后添加新的特性,可能会引入利用漏洞的新方法。因此黑名单不能保证序列化过程的安全性。事实上,大部分反序列化漏洞是由于使用不安全的基础库造成的。黑客gabriellawrence和chrisfrohoff于2015年发现的apachecommons集合库,直接影响到大型框架,如weblogic、websphere、jboss、jenkins、opennms。脆弱性的影响直到今天才得到解决,如果大家有无法解决的网站漏洞修复问题可以去看看网站安全公司那边,国内像Sinesafe,绿盟,启明星辰都是网站安全公司解决漏洞问题的。

posted @ 2022-03-16 22:35  网站安全服务器安全  阅读(131)  评论(0编辑  收藏  举报