论文部分内容阅读
SQL注入漏洞自其发现以来一直以其操作简单、隐蔽性强、破坏性大等特点严重威胁着Web应用系统的安全。对于SQL注入漏洞的检测已经有了广泛的研究,但一方面很少涉及到JavaScript等动态脚本中注入点的提取问题,另一方面很多注入检测工具都是以漏洞利用为主,严重影响到被测系统的安全性。本文针对以上问题,分析研究了网络爬虫和SQL注入漏洞相关技术,提出了基于网络爬虫的SQL注入自动化检测模型。研究分析了动态网页和孤立网页的链接提取技术、网页稳定性和网页相似性判断算法以及漏洞检测技术,设计实现了低漏报率和误报率的漏洞检测系统,并对系统的功能和性能进行了评测。本文的工作研究内容如下:(1)分析研究了 SQL注入漏洞检测相关技术。首先分析了 SQL注入漏洞的攻击原理,攻击途径以及攻击方式分类,然后研究了漏洞检测的主要技术,最后分析并比较了现有漏洞检测工具的优缺点,为本课题的设计和实现提供了理论基础。(2)设计并实现了用于链接获取的网络爬虫模块。网络爬虫模块主要包含网页分析与链接获取和URL规范化与去重处理两个子模块,本课题侧重研究了动态网页和孤立站点的链接提取技术以及URL去重技术,从而提高了爬虫模块的效率,并降低了漏报率。(3)设计并实现了 URL队列处理模块。在URL队列处理模块主要研究了链接参数有效性检测技术和网页稳定性判断方法,在URL队列传递到漏洞检测模块前先对其进行预处理,去除无效链接,标记不稳定网页,从而提高整个系统的运行效率。(4)设计并实现了漏洞检测模块。漏洞检测模块提出了基于分等级的测试用例设计方法来提高测试用例的全面性,并降低其冗余度。随后提出了基于网页稳定性的网页相似性检测技术,最后给出了基于数据库关键字和网页相似性检测技术的漏洞检测结果判断方法。(5)综合测评了本系统的实用性。对系统的功能、性能和安全性进行了全面的测试,实验证明所完成的系统能有效的检测网站SQL注入漏洞,可以达到低漏报率和低误报率以及高安全性的目标。