【技术实现步骤摘要】
一种PHP反序列化漏洞利用链检测方法及装置
[0001]本专利技术涉及软件检测
,特别涉及一种PHP反序列化漏洞利用链检测方法及装置。
技术介绍
[0002]目前,反序列化漏洞的利用链的检测较少,现有的一种反序列化漏洞利用链检测方法(如CN113010899B)是通过保存执行PHP文件的源代码信息,然后预定义一系列的规则进行检测,还需要保存部分源代码。这种方式所占的存储空间多,对文件执行的效率影响较大。
[0003]本专利技术只需要提前对PHP的风险函数HOOK,如果未执行到这些风险函数,则不会进行检测,对执行效率的影响较小,且具有较高的检测率和较低的误报率。
技术实现思路
[0004]本专利技术实施例的目的是提供一种PHP反序列化漏洞利用链检测方法及装置,通过在反序列化函数执行后,在风险函数执行时检测风险函数的参数,当风险函数参数位于反序列化函数外部参数列表中时,如运行堆栈中有已运行的魔法函数,则确定反序列化过程中存在风险漏洞,极大地提高检测准确率,误报率极低。
[0005]为解决上述 ...
【技术保护点】
【技术特征摘要】
1.一种PHP反序列化漏洞利用链检测方法,其特征在于,包括如下步骤:在反序列化函数执行后,在风险函数执行时获取所述风险函数的参数;判断所述风险函数的参数是否为反序列化函数外部参数列表中已存储的参数;如是,则判断当前运行堆栈中是否包含魔法函数;当所述运行堆栈包含所述魔法函数,则判定所述魔法函数调用了所述风险函数,且所述风险函数的参数为外部请求参数,所述风险由反序列化漏洞触发。2.根据权利要求1所述的PHP反序列化漏洞利用链检测方法,其特征在于,所述获取风险函数的参数之前,还包括:获取所述反序列化函数的参数;判断所述反序列化函数的参数是否为所述外部请求参数;如是,则将所述反序列化函数的参数存储至所述反序列化函数外部参数列表。3.根据权利要求2所述的PHP反序列化漏洞利用链检测方法,其特征在于,所述获取所述反序列化函数的参数之前,还包括:对所述反序列化函数和所述风险函数执行hook操作。4.根据权利要求1
‑
3任一所述的PHP反序列化漏洞利用链检测方法,其特征在于,所述风险函数对应的风险类型包括:命令执行、SQL注入、代码执行、执行可疑文件、敏感文件访问或服务器端请求伪造风险。5.一种PHP反序列化漏洞利用链检测装置,其特征在于,利用如权利要求1
‑
4任一所述的PHP反序列化漏洞利用链检测方法进行漏洞检测,包括:第一参数获取模块,其用于在反序列化函数执行后,在风险函数执行时获取所述风险函数的参数;第一判断模块,其用于判断所述风险函数的参数是否为反序列化函数外部参数列表中已存储的参数;第二判断模块,其用于在所述风险函数的参数为所述反序列化函数...
【专利技术属性】
技术研发人员:姜向前,杨钰卉,姚纪卫,
申请(专利权)人:安芯网盾北京科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。