论文部分内容阅读
随着网络技术的飞速发展,Web应用已经成为人们生活中不可或缺的部分,然而,承载着丰富功能和用途的Web应用程序也逐渐成为黑客和恶意用户等攻击者的主要攻击目标。因此,如何确保Web应用程序的安全已经成为政府、企业,甚至是银行等金融行业所面临的主要挑战。为了能够在恶意用户攻击Web应用程序之前就将漏洞扼杀在摇篮里,应该进行Web应用安全渗透测试以提高Web应用的安全性。本文对Web应用常见漏洞进行了分析,研究了Web应用中常见漏洞的形成原因以及相应的防御方法,例如注入漏洞、XSS漏洞,错误的认证和会话管理漏洞、不正确的对象引用、伪造跨站请求和安全性误配置等。设计并实现了基于网络爬虫的Web应用安全渗透测试工具,包括:(1)网络爬虫模块。网络爬虫采用广度优先的爬取策略,在多线程爬取的过程中,通过网页解析、URL格式化和过滤,获得目标网站的所有URL。(2)安全渗透注入模块。详细分析了渗透注入模块的原理,分析了URL的请求中GET类型的注入点和注入参数,以及POST类型的注入点和注入参数,采用自动化的注入机制将构造的恶意URL发送给服务器。(3)漏洞分析模块。给出了漏洞判定规则表,并将Web服务器端返回的响应与漏洞规则表中的预期输出对比,从而确定Web应用存在的漏洞,并以html格式将漏洞报表展示出来。该工具具有一下三个优点:检测效率良好,能够比较全面的发现Web应用存在的漏洞;检测准确性较高,而且能够给出详细的漏洞检测报告;扩展性良好,可以方便的将以后新发现的漏洞扫描插件添加进来,而且无需改变原有的控制逻辑。