The invention relates to a cross site scripting attack detection method based on program analysis and variation of input: first analysis of crawling web pages using htmlparser2, get the DOM structure of the web page; then the DOM structure may be found by traversing the input point all the websites, record the input point ID; again with the user input operator generated may; finally use the tool of Selenium automatic test scripts, XSS vulnerabilities mining site.
【技术实现步骤摘要】
一种基于程序分析和变异输入的跨站脚本攻击检测方法
本专利技术属于计算机
,尤其是软件工程
本专利技术采用一种基于变异输入的方法对Web应用中存在的跨站脚本攻击(CrossSiteScripting,简称XSS)进行检测,通过此方法可以简单有效的检测出Web应用中的XSS漏洞,保证了Web应用的质量。
技术介绍
随着社会的不断发展,Web应用已经成为了我们日常生活中不可或缺的一部分。现在的Web应用涉及广泛,包括购物、社交、娱乐等各个领域。Web应用给用户带来便利的同时,也带来了很多的问题,尤其是安全方面的问题。开放Web应用安全工程(OpenWebApplicationSecurityProject简称OWASP)最近两次给出的最关键10项Web应用安全风险(简称Top10)的统计报告显示:XSS分别以2010年排行第二和2013年排行第三的身份进入“备受人们关注的Web安全领域”。目前主要有三种类型的XSS,分别是反射型XSS(ReflectedXSS)又称为非持久型XSS(No-persistentXSS);存储型XSS(StoredXSS)又称为持久型XSS(PersistentXSS);及DOMXSS。反射型XSS是指用户发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,在响应内容中出现这段XSS代码,最后浏览器解析执行。存储型XSS和反射型XSS的差别在于:提交的XSS代码会存储在服务器端(不管是数据库、内存还是文件系统),下次请求目标页面时不用再提交XSS代码。DOMXSS和前两者的差别在于:DOM ...
【技术保护点】
通过静态程序分析方法解析Web页面,然后使用10种变异算子对基本的用户输入进行变异,产生变异后的输入,在页面的输入点使用变异后的输入,根据页面是否出现特定的行为,判断Web页面是否存在XSS漏洞,如果出现的话可以记录出现的位置。
【技术特征摘要】
1.通过静态程序分析方法解析Web页面,然后使用10种变异算子对基本的用户输入进行变异,产生变异后的输入,在页面的输入点使用变异后的输入,根据页面是否出现特定的行为,判断Web页面是否存在XSS漏洞,如果出现的话可以记录出现的位置。2.根据权利要求1所描述的一种基于程序分析和变异输入的跨站脚本攻击检测方法包括以下步骤:1)对爬取的网页使用htmlparser2进行解析,得到网页DOM结构;2)递归的遍历DOM结构得到所有用户输入点,并记录相应点的ID;3)对用户输入使用变异算子,得到变异输入用例;4)结合得到的变异输入用例,使用工具Selenium对所有可能存在的用户输入点进行测试,根据测试得到的结果,判断该输入点是否存在XSS漏洞。3.根据权利要求2所描述的一种基于程序分析和变异输入的跨站脚本攻击检测方法,其步骤1)中使用htmlparser2工具对Web页面进行解析,解析后可得到该Web页面的DOM结构,得到的DOM结构可供后续步骤进一步分析。4.根据权利要求2所描述的一种基于程序分析和变异输入的跨站脚本攻击检测方法,其步骤2)中编写程序对得到的DOM结构进行分析,该遍历程序是一个递归的程序,能全面分析整个页面。例如,form标签中嵌入了input等子标签,该程序首先会遍历form标签节点,再遍历form标签下的子标签input。在遍历Web页面的DOM结构时,记录下标签节点中input标签及textarea标签中type属性不为hidden的标签节点ID。5.根据权利要求2所描述的一种基于程序分析和变异输入的跨站脚本攻击检测方法,其步骤3)中首先给出一些基本的用户输入,然后使用10种变异算子对基本的输入进行变异,变异算子介绍如下。(1)AddEscapeOperator(AEO):增加转义算子,该算子的作用是将某些需要进行转义的字符进行转义,这些字符包括“<”,“>”,“&”,“\”等。当普通的输入中出现这些字符时,就运用该转义算子对这些特殊字符进行转义操作;(2)RemoveEscapeOperator(REO):移除转义算子,该算子的作用是将基本输入中出现的转义字符进行移除;(3)AddHighByte...
【专利技术属性】
技术研发人员:许蕾,汪睿,李言辉,徐宝文,
申请(专利权)人:南京大学,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。