论文部分内容阅读
随着互联网技术的飞速发展,Web应用程序越来越普遍,企业在信息化过程中搭建了各种各样的Web应用程序,Web应用服务的快速发展也引起了黑客的强烈关注,随之而来的就是Web应用安全问题的日益严重。黑客利用Web应用的漏洞,例如文件上传漏洞、SQL注入漏洞等,可轻易获得Web服务器的控制权限,可以方便地篡改页面内容,也可能窃取重要的内部数据,更为糟糕的是在页面中植入恶意的代码,使页面访问者受到攻击。Web应用漏洞扫描作为一种关键技术,可以事先发现和解决大部分Web应用安全问题,也可被广泛应用于渗透测试、信息系统安全加固、等级保护等工作,具有十分重要的意义。本文通过对Web应用漏洞扫描技术进行深入的研究,分析了现有的Web应用漏洞扫描产品的关键技术和整体架构,并在此基础上设计了一款基于插件的Web应用漏洞扫描系统。该系统主要采用Python语言、多线程和面向对象技术开发,可以扫描SQL注入、XSS跨站脚本攻击等常见漏洞,并有扩展性强、插件化的特点,在出现重大紧急漏洞时,能够自定义编写Web应用漏洞扫描插件,能够对网络空间资产中的Web应用进行快速扫描,分析、验证、统计受影响的资产,对网络空间中脆弱的Web应用资产可能造成的潜在危害进行分析并形成报告。本文以Web应用程序的漏洞检测作为研究对象,主要做了以下几方面的工作:(1)由于传统爬虫依靠静态分析,不能准确的抓取到页面中的AJAX请求以及动态更新的内容,本文设计并实现了基于动态解析的爬虫,将传统的Web应用爬虫和动态爬虫相结合,提高了扫描系统的URL抓取能力。(2)传统的Web应用漏洞扫描系统在对目标进行漏洞扫描时,一般会遍历漏洞库中的所有漏洞规则,在扫描大型应用系统时,效率会极其低下。本文研究并实现了对Web应用指纹的识别技术,通过识别出Web应用的指纹信息,再调用相关的漏洞扫描插件,可以提高Web应用漏洞扫描系统的性能和扫描速度。(3)传统的Web应用漏洞扫描系统大多是通过发送HTTP请求,在HTTP响应中匹配关键字特征来进行漏洞识别,这种直接的检测方式在一些特殊的场景下会导致漏洞的漏报,本文研究并实现了一种基于DNS Log技术的间接漏洞检测方法,可以提高漏洞的覆盖率。