XSS漏洞检测研究与设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
XSS漏洞检测研究与设计

XSS漏洞检测研究与设计   摘要:该系统设计实现了一个XSS测试用例模型,通过网络爬虫对网站进行链接爬取,并根据设计的测试用例模型生成测试用例集合,将测试用例集合提交至网站,监测网站是否具有XSS漏洞。系统的爬虫模块采用基于广度优先搜索策略的多线程技术,爬虫配置功能能够使用户自定义多个配置爬虫的参数。经过测试用例检测后,系统能高效准确地发现XSS漏洞。   关键词:Web;XSS检测;用例模型;Python   中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)04-0014-02   1 背景   在互联网技术飞速发展的今天,人们已经越来越多的依赖互联网。互联网固然丰富了人们的生活,但是其存在的安全问题也给人们带来了很多危害。在众多的网络安全问题中,针对Web应用程序的攻击已经成为网络攻防的热点,而在Web攻击中,XSS攻击是其中一中十分流行和影响严重的攻击。利用XSS攻击,攻击者可以获取用户隐私,盗取用户身份Cookie,劫持用户的浏览器等,危害十分严重,给用户带来了严重的生活困扰,给企业带来了巨大的经济损失。因此,如何检测XSS漏洞,保障Web应用程序免受XSS攻击已经成为一个十分有必要的研究课题。本系统以此为目标,针对XSS漏洞检测,对其测试用例进行了深入的研究,设计了一个以攻击位置的不同来进行分类的测试用例模型。   2 系统的设计   系统主要分为两大模块:网络爬虫模块和XSS检测模块。如图1所示。 网络爬虫模块主要功能是对Web页面源代码的爬取,完成网页源代码的下载并提取其中的URL链接和解析出表单,为XSS检测模块提供需要测试的URL链接和表单。XSS检测模块的主要功能是从网络爬虫模块中获取元组forms中的表单,提取出表单中URL的各参数,将XSS测试用例插入到URL的参数中,组成一个新的待测试的URL,并访问此URL。检测返回的页面源代码中是否存在提交的XSS测试用例,如果存在则表示该URL存在XSS漏洞,否则不存在XSS漏洞。   1) 网络爬虫模块   网络爬虫模块主要是由三个子模块组成,分别是配置模块、下载模块和解析模块。初始状态下,配置模块根据用户提供的参数对爬虫进行配置,并且此时带爬取的URL列表中只有一个入口URL,此时通过调用下载模块来下载网页源代码,接着调用解析模块对下载的网页源代码进行解析,解析出URL链接和表单,并将解析出的URL链接加入到待爬取的列表中。   如图2所示。   2) XSS检测模块   XSS检测模块主要是由两个子模块组成,分别是测试用例生成模块和检测模块。初始状态下,检测模块提取全局元组中的表单,根据表单中的提交方式去调用不同的检测模块(检测模块有两个:GET检测模块和POST检测模块)。检测子模块获取表单,提取出表单中的提交URL地址并传递给测试用例生成模块,此时测试用例生成模块根据表单中的提交URL地址去生成攻击测试用例,并将生成的攻击测试用例传递给检测模块,检测模块此时开始利用攻击测试用例检测URL链接所在的网页页面是否存在XSS漏洞,若发现XSS漏洞,则提醒用户并输出相关XSS漏洞信息。如图所示。   (1) 测试用例生成模块:测试用例生成模块为用户提供了两种选择,一种是用户自定义提交的攻击测试用例,另一种是使用模块中自带的默认的攻击测试用例。首先启动配置子模块,用户在自定义测试用例的窗口导入自定义的测试用例或选择使用默认配置,导入的内容将会替换模块中默认的测试用例,形成新的测试用例。默认的测试用例主要由六类,分别是属性类、标签类、标签分割类、XSF类、CSS类和mXSS类,这六类是根据攻击位置的不同来划分的,在本文的第三部分已经有介绍。默认情况下,每一类测试用例集合中都有十个攻击测试用例,所以所有测试用例加起来一共有六十个,当然,这只是众多XSS攻击测试用例中的冰山一角。由用户自定义测试用例或使用默认测试用例之后,将会启动生成子模块,该模块根据URL网址的不同类别,选择相应类别的攻击测试用例,添加到最终的测试用例集合中。   (2) XSS检测模块:XSS检测模块从headers生成模块获取headers信息,从URL生成模块获取URL链接,根据表单的提交方式的不同从而生成新的网络请求包,紧接着启动下载模块,利用download()函数下载当前待测试的URL链接的网页页面。检测模块由四个子模块组成,分别是headers生成模块、URL生成模块、XSS检测模块和输出模块。   headers生成模块:headers生成模块为用户提供了两种选择,用户可以自定义headers的内容,也可以使用模块中默认的headers,headers是一个元组,headers的代码格式为{name: value},但

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档