[发明专利]一种基于静态和动态相结合的反射型漏洞检测方法有效
申请号: | 201811282127.1 | 申请日: | 2018-10-31 |
公开(公告)号: | CN109462583B | 公开(公告)日: | 2021-04-20 |
发明(设计)人: | 肖甫;陈晶;沙乐天;韩崇;王汝传 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06F21/57;H04L29/08 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 秦秋星 |
地址: | 210003 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 静态 动态 相结合 反射 漏洞 检测 方法 | ||
1.一种基于静态和动态相结合的反射型漏洞检测方法,其特征在于,包括如下步骤:
步骤1:对web应用程序进行静态分析,获得其静态特征点;
步骤2:对所述静态特征点进行污点传播分析;
步骤3:对经步骤2处理后的静态特征点进行动态Fuzzing测试,检测出web应用程序的反射型XSS漏洞;
步骤1包括:
步骤1.1:将浏览器网页中的HTML代码与JavaScript代码分离;
步骤1.2:通过分析抽象语法树,在静态分析中对JavaScript代码进行语法解析,把源代码中的语句映射到树中的每一个节点上,解析后得到对应的语法结果,即关键点;
步骤1.3:利用分拣函数从关键点中获得可能存在漏洞的位置,即静态特征点;
步骤2包括:
步骤2.1:对静态特征点做污点标记:在语法和词法分析的层面上挖掘JavaScript标签,遍历得到的标签信息中寻找XSS漏洞注入点,并对其做污点标记;
步骤2.2:传播污染数据,将不同污染源数据的传播路径和执行方式记录在污染链表的数据存储;
步骤2.3:检测污点数据净化情况,静态特征点的反射型XSS代码被变换和重置,以避免web服务器对反射型XSS代码的过滤;
步骤3包括:
步骤3.1:向经步骤2处理后的静态特征点输入一个用于测试的URL;
步骤3.2:判断输入的URL是否存在http://或https://形式的超文本传输协议,如果不存在则将对应的http://或https://补上,如果存在则转步骤3.3;
步骤3.3:判断http://或https://上的域名是否可以被检测到,如果判断结果是false,则说明域名不存在或已经下线;若结果为true,则说明域名上线,可以被检测得到,转步骤3.4;
步骤3.4:对获取/传送数据的方式进行判断,如果判断为post方式则输入对应的参数和值;若判断为get方式则输入检测漏洞存在可能的payload,继而转步骤3.5;
步骤3.5:加载payload,然后转步骤3.6;
步骤3.6:判断反射型XSS漏洞是否被找到,如果判断结果为false,说明这个XSS漏洞没有被找到,参数不存在漏洞,直接结束;若判断为true,说明XSS漏洞已经被找到,并将对应的参数以及存在的漏洞payload显示出来,转步骤3.7;
步骤3.7:将扫描得到的漏洞检测结果形成一个结果表,结束检测过程。
2.根据权利要求1所述的一种基于静态和动态相结合的反射型漏洞检测方法,其特征在于,步骤3.5中,在加载payload的同时,利用随机化算法对URL中对应的参数进行扫描,随机生成更多的payload,并对漏洞的注入点进行注入。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811282127.1/1.html,转载请声明来源钻瓜专利网。