[发明专利]一种PHP反序列化漏洞利用链检测方法有效
申请号: | 202110412082.0 | 申请日: | 2021-04-16 |
公开(公告)号: | CN113010899B | 公开(公告)日: | 2022-06-07 |
发明(设计)人: | 刘楚彤;章思宇;姜开达;管海兵 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F21/56 |
代理公司: | 上海旭诚知识产权代理有限公司 31220 | 代理人: | 郑立 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 php 序列 漏洞 利用 检测 方法 | ||
1.一种PHP反序列化漏洞利用链检测方法,其特征在于,包括以下步骤:
步骤1、预定义一系列在检测过程中所需用到的各种规则;
步骤2、从待检测的PHP文件中获取源代码信息;
步骤3、根据所述各种规则进行反序列化漏洞利用链检测;在检测过程中将源代码信息划分为三种类型;对三种类型源代码执行不同的检测流程;其中,对基于PHP的CMS项目文件的检测流程将部分源代码存储在本地数据库中;
所述步骤3检测流程包括对单个PHP文件的检测流程、对多个互相包含的PHP文件的检测流程、对基于PHP的CMS项目文件的检测流程;
所述对单个PHP文件的检测流程包括以下步骤:
步骤311、确定php源代码中是否存在类;
步骤312、确定类是否可反序列化;
步骤313、确定类是否继承了父类或实现了抽象类以找全所有可以反序列化类的调用函数;
步骤314、确定全部类中是否存在__destruct()或者__wakeup()函数,并对全部类中出现的这两个函数,确定魔术方法中是否触发了定义好的危险规则;
步骤315、若没有触发危险规则,确定魔术方法中是否调用了其他魔术方法或类的自定义函数;
步骤316、在其他魔术方法和类的自定义函数中递归地进行利用链检测;
步骤317、检测流程中有触发到定义好的危险规则,说明代码中存在反序列化漏洞利用链;若检测过程中触发了死循环异常规则或检测正常终止,说明代码中不存在反序列化漏洞利用链;
所述对多个互相包含的PHP文件的检测流程包括以下步骤:
步骤321、确定包含文件的函数有include、require、include_once、require_once四个;
步骤322、确定提供的各个源文件是否通过包含函数互相引入;
步骤323、将所有通过函数引入的php源文件标记;
步骤324、在标记的php源文件中,任意把某一文件视为主文件,将其他所有标记后的源代码附加在主文件之后生成的新的整体代码文件;
步骤325、对整体代码文件执行所述对单个PHP文件的检测流程进行检测;
所述对基于PHP的CMS项目文件的检测流程包括以下步骤:
步骤331、标记所有存在命名空间(namespace)的文件,即可以直接反序列化时调用的类;
步骤332、将标记文件源代码存入本地数据库中备用;
步骤333、在标记文件的数据库中搜寻各个类是否存在__destruct()或者__wakeup()函数;
步骤334、从数据库中提取当前类所在的源码,确定是否可反序列化;
步骤335、在__destruct()或__wakeup()函数中检测是否触发了危险规则;
步骤336、如果没有触发危险规则,进一步确定__destruct()或__wakeup()函数中是否调用了其他魔术方法或类的自定义函数;
步骤337、在其他魔术方法和类的自定义函数中递归地进行利用链检测;
步骤338、若检测流程中触发了危险规则,说明代码中存在反序列化漏洞利用链;
步骤339、若检测过程中触发了所述的死循环异常规则或检测正常终止,说明代码中不存在反序列化漏洞利用链。
2.如权利要求1所述的PHP反序列化漏洞利用链检测方法,其特征在于,所述步骤1包括定义一系列反序列化可能触发的危险规则。
3.如权利要求1所述的PHP反序列化漏洞利用链检测方法,其特征在于,所述步骤1包括设定触发类的魔术方法规则。
4.如权利要求1所述的PHP反序列化漏洞利用链检测方法,其特征在于,所述步骤1包括设定触发类中的自定义方法规则。
5.如权利要求1所述的PHP反序列化漏洞利用链检测方法,其特征在于,所述步骤1包括设定防止死循环规则。
6.如权利要求1所述的PHP反序列化漏洞利用链检测方法,其特征在于,所述步骤3对结果进行人工分析确认。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110412082.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种卸车用刮板装置及其应用
- 下一篇:一种电动邵氏硬度计