[发明专利]一种跨站脚本攻击的检测方法和检测设备有效
申请号: | 201511000768.X | 申请日: | 2015-12-28 |
公开(公告)号: | CN105791261B | 公开(公告)日: | 2019-06-21 |
发明(设计)人: | 张宏;李洪;杨凌川;张春丽 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06F21/57 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 脚本 攻击 检测 方法 设备 | ||
1.一种跨站脚本攻击XSS的检测方法,其特征在于,包括:
将用户在页面中的输入数据标记为污点数据;
跟踪所述输入数据在客户端脚本语言的字节码指令中的传播,将执行所述字节码指令过程中使用所述输入数据的其它数据标记为污点数据,并生成由污点数据构成的传播路径;
检测所述传播路径,若所述传播路径上有n个污点数据被发送至第三方,则确定发生XSS漏洞,n为正整数且大于或等于1。
2.根据权利要求1所述的方法,其特征在于,在将所述用户在所述页面中的输入数据标记为污点数据之前,所述方法还包括:
通过网络爬虫技术获取服务器向客户端发送的页面的统一资源定位符URL以及所述页面中的所有可触发事件对应的URL。
3.根据权利要求2所述的方法,其特征在于,所述将用户在页面中的输入数据标记为污点数据包括:
获取所述用户在所述URL对应页面中的输入数据的第一内存地址,所述第一内存地址用于指示所述输入数据或所述其它数据的存储位置;
建立并保存为所述输入数据分配的第二内存地址与所述第一内存地址的映射关系,所述第二内存地址用于标记所述输入数据或所述其它数据为污点数据。
4.根据权利要求3所述的方法,其特征在于,所述跟踪所述输入数据在客户端脚本语言的字节码指令中的传播,将执行所述字节码指令过程中使用所述输入数据的其它数据标记为污点数据,并生成由污点数据构成的传播路径包括:
通过数据流分析和控制流分析,按照执行所述字节码指令的顺序依次获取执行所述字节码指令过程中使用所述输入数据的其它数据;所述数据流分析用于获取与所述输入数据存在赋值运算、算术运算和逻辑运算的数据;所述控制流分析用于获取所述字节码指令的条件分支语句中使用所述输入数据的其它数据;
根据获取的所述其它数据的顺序,依次建立并保存为所述其它数据分配的所述第二内存地址与所述其它数据的所述第一内存地址的映射关系;
根据同一信息流中建立所述输入数据和所述其它数据对应的映射关系的顺序,生成包括所述第二内存地址的所述传播路径,并按照生成所述传播路径的顺序对所述传播路径进行队列排序。
5.根据权利要求4所述的方法,其特征在于,所述检测所述传播路径,若所述传播路径上有n个污点数据用于指定的操作行为,则确定发生XSS漏洞,n为正整数且大于或等于1包括:
按照所述队列中所述传播路径的顺序读取所述传播路径;
根据当前读取的所述传播路径中所述第二内存地址的顺序,检测与所述传播路径中第一个所述第二内存地址对应的污点数据是否被发送至所述第三方;
若否,则确定所述当前读取的所述传播路径未发生所述XSS漏洞,并停止检测所述当前读取的所述传播路径,继续读取所述队列中的下一条所述传播路径;
若是,则继续检测与所述当前读取的所述传播路径中第二个所述第二内存地址对应的污点数据是否被发送至所述第三方;
若是,则停止检测所述当前读取的所述传播路径,并确定所述当前读取的所述传播路径发生所述XSS漏洞;
若否,则继续检测所述传播路径中的下一个所述第二内存地址对应的污点数据是否被发送至所述第三方,直至检测出与所述第二内存地址对应的n个污点数据被发送至所述第三方时,停止检测所述当前读取的所述传播路径,并确定所述当前读取的所述传播路径发生所述XSS漏洞,否则,确定所述当前读取的所述传播路径未发生所述XSS漏洞。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述第二内存地址标记的污点数据在所述队列的所有所述传播路径中均未被发送至所述第三方,则删除所述第二内存地址与所述第一内存地址的映射关系。
7.根据权利要求1-6任一项所述的方法,其特征在于,污点数据被发送至第三方包括:污点数据包括在用于识别用户的身份信息或会话信息中被发送至所述第三方、污点数据包括在邀请链接中发送至所述第三方以及污点数据包括在请求资源的请求消息中发送至所述第三方中的至少一个。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201511000768.X/1.html,转载请声明来源钻瓜专利网。