当前位置: 首页 > 专利查询>周耕辉专利>正文

发现Web内网代理漏洞的方法技术

技术编号:8161711 阅读:191 留言:0更新日期:2013-01-07 19:38
本发明专利技术公开了一种发现Web内网代理漏洞的方法,通过网络爬虫技术来实现内网网络页面抓取,获得全部页面的URL。然后基于URL规范和参数值特征进行两次过滤,筛选出可能存在内网代理漏洞的URL。在Web内网中构造特征页面,该特征页面包含一段MD5串。对于每一个过滤后的URL,将原来包含URL的参数内容替换为特征页面的URL,请求替换之后的URL,如果请求回应中包含特征页面中的MD5串,则认为该页面URL存在内网代理漏洞,否则,则认为该页面URL不存在内网代理漏洞。程序化的内网代理检测方法避免了人工方法的不足,可有效并且全面地发现Web服务中存在的内网代理漏洞,提高Web安全性。

【技术实现步骤摘要】

本专利技术涉及一种发现漏洞的方法,特别涉及一种。
技术介绍
一般情况下,客户通过公共的Web服务间接使用代理模块提供的服务。如果开发者没有对代理模块的使用做任何限制,那么,客户就可以直接访问代理模块,并构造合适的参数来访问任意的内网资 源,从而使得网络隔离策略被绕过。如果存在上述可能,那么,网站的应用逻辑就包含内网代理漏洞。目前,内网代理漏洞的检测方法主要分为人工代码审核与黑盒发现技术两种。(I)人工代码审核。通过人工对代码中可能出现的问题进行分析,从而发现潜在的内网代理问题。人工代码审核的漏洞发现的检准率较高,但由于Web应用的复杂性,代码的庞杂,造成检全率较低。(2)黑盒发现技术。黑盒发现技术不关心具体的代码实现,而是从Web服务接口出发,去寻找外界不可访问的内网资源,由此从Web接口中发现潜在的内网代理问题。比如下面的URL可能存在潜在的内网代理问题http://test, web, org/proxy. php proxy=internal. web, org 上述URL包含一个proxy参数,其值是一个其他Web地址的URL,因而,从形式上可以推测该URL存在可能的内网代理问题。为了确认漏洞,测试者需要找到真实存在的,外界不可访问的内网地址,并且通过该URL可以访问到这个内网地址。因此,黑盒发现技术虽然不需要了解复杂的Web服务代码,但是其过程也需要花费大量人工测试的时间。现有技术在发现内网代理漏洞上都需要人工参与。其中,代码审核过程需要审核人精通服务器编程语言和Web逻辑,而黑盒发现技术需要测试者熟悉Web工作方式,并且有丰富的渗透测试经验。两种方法在技术上要求都较高,同时,由于人力因素,不可能达到较高的检全率。
技术实现思路
本专利技术的目的是提供一种降低人工成本并提高Web安全性的。本专利技术提供的这种,在外界不能访问的内部服务器上部署一个Web服务,并在Web服务内放置一个含有构造的签名的签名页面,实现所述方法的步骤包括 步骤I,采用网络爬虫技术获取网站内所有Web站点页面的URL并保存; 步骤2,对步骤I的页面URL进行判断,若页面URL中包含值符合URL规范的参数,保存该URL,否则,丢弃该页面; 步骤3,将URL中包含URL规范参数值替换为指向签名页面; 步骤4,访问替换后的URL ;步骤5,检查访问结果是否包含构造的签名,若访问结果包含构造的签名,则认为该页面存在内网代理漏洞,若访问结果不包含构造的签名,则认为该页面URL不存在内网代理漏洞。为了提高程序的运行速度,对于步骤2得到的每一个URL,根据URL规范进行参数部分的解析,保留参数值满足URL规范的URL ;然后对于URL中参数相同但该参数对应的值不同的URL进行过滤,只保留其中一个URL,从而获得可能存在内网漏洞的URL并保存。本专利技术提供的这种,内网代理漏洞的自动识别技术通过程序化的方法,代替人工代码审核,自动检出并且判定内网代理漏洞是否存在,可为网站开发者和网站管理员快速发现并解 决内网代理漏洞问题。程序化的内网代理检测方法不需要人工参与,操作者只需要启动检测过程,显著降低了检测难度。程序化的内网代理检测方法避免了人工方法的不足,可有效、全面地发现Web服务中存在的内网代理漏洞,提高Web安全性。附图说明图I是本专利技术的内网代理页面的展现示意图。图2是本专利技术的内网代理页面的判定示意图。图3是本专利技术的一种优选实施例的流程图。具体实施例方式本专利技术使用程序化的方法来发现并判定内网代理漏洞。使用时,操作者只需要启动检测程序即可。本专利技术以黑盒测试作为出发点,将黑盒测试过程归结为URL发现和漏洞验证两部分。URL发现用于从Web应用中提取出所有的页面。考虑到URL参数的变化,一个典型的Web应用通常包含几万到几十万条独立的URL。对每一条URL进行独立分析将花费大量时间。因此,基于提取结果应用过滤策略,降低分析数量,才能使分析时间变得可接受。如果不对URL进行过滤,也能实现Web内网代理漏洞的查找,只是程序的执行会耗费更多时间。在黑盒测试方法中,漏洞验证需要测试者找到真实存在的内网页面。该过程需要测试者有较高的测试技巧,难度较高。大部分关于内网代理漏洞的测试实际上都发生在开发者或者管理员对自己站点的安全评估过程中。因此,测试本身拥有对内网的访问权限。从这个事实出发,本专利技术通过构造特殊的内网页面,并通过该构造的特殊页面来判定内网代理漏洞的真实性。本专利技术在具体实施上分为发现和判定两个阶段。(I)发现阶段 首先,本专利技术应用网络爬虫技术,爬取网页内容中所有的链接,从而发现网站所包含的所有页面URL以及URL参数。由于对所有页面URL进行分析存在较大的计算量,为了降低后续处理难度,这里需要对结果进行过滤。过滤分为两个阶段。第一阶段,将页面URL中参数值本身是其他URL的页面提取出来。RFC 2396和RFC 2732定义了绝对URL和相对URL的格式要求。因此,满足该要求的参数值被程序认为是一个有效的URL。由于所有的页面URL都需要做上述过滤,为了保证执行效率,格式规范本身使用正则表达式描述,而匹配过程则使用确定有穷自动机技术进行处理。假设字符串长度为n,确定有穷自动机技术可以在0(n)的时间复杂度下完成匹配,因而可以达到线性的处理速度。第一阶段过滤后的URL均包含一个值满足URL格式的参数,假设这个参数是P。第二阶段,将其他参数相同,仅P所包含的值不同的URL进行过滤,只保留其中一个。由于具备内网代理功能的页面通常作为公共组件为其他页面提供服务,因而,在页面抓取过程中会发现大量其他页面引用内网代理页面的情况,这些情况在本质上属于同一个后台逻辑,在分析上进行一次即可。在完成爬虫抓取和过滤之后,将得到所有可能存在内网代理问题的页面URL。这些URL已经不可能进行进一步的处理和去重,需要逐一进行验证分析。(2)判定阶段 为了判定一个页面是否可以成为内网资源的访问代 理,本专利技术并不是去寻找外界不可访问的内网资源,是通过在内网构造外界不可见也不可访问的内网资源来实现判定的目的。程序判定的过程面临的首要问题是误报。如图I所示,考虑一个内网代理页面所展现的内容。在A部分,内网代理页面包含标准的HTTP头部信息,而在B和D部分,内网代理页面包含与实现相关的其他内容,C部分包含内网代理页面访问到的内网资源部分。网页展现通过标准的HTML语言来实现。HTML语言通过标签描述了一个树形结构,这被称为DOM树。和Web逻辑实现相关,C部分可能简单地包含内网页面body标签内的HTML代码,也可能将内网页面内容包含在div标签中,或者其他可能的方式。通过DOM遍历的方式可以定位到内网资源在内网代理页面中的位置,但是由于Web逻辑本身的多样性,其过程及其复杂。本专利技术将DOM查找的过程简化为字符串查找的过程。如图2所示,首先,在外界不能访问的内部服务器上部署一个Web服务,并在Web服务内放置一个特殊的页面X。页面X包含一段文本的MD5串(见图2中斜体字)。其次,对于每一个需要判定是否包含内网代理的页面URL,将原来包含URL的参数内容替换为X的URL (见图2中斜体字)。最后,请求替换之后的URL,如果请求回应中包含页面X中的MD5串,那么,则认为页本文档来自技高网
...

【技术保护点】
一种发现Web内网代理漏洞的方法,其特征在于,在外界不能访问的内部服务器上部署一个Web服务,并在Web服务内放置一个含有构造的签名的签名页面,实现所述方法的步骤包括:步骤1,采用网络爬虫技术获取网站内所有Web站点页面的URL并保存;步骤2,对步骤1的页面URL进行判断,若页面URL中包含值符合URL规范的参数,保存该URL,否则,丢弃该页面;?步骤3,将URL中包含URL规范参数值替换为指向签名页面;步骤4,访问替换后的URL;步骤5,检查访问结果是否包含构造的签名,若访问结果包含构造的签名,则认为该页面存在内网代理漏洞,若访问结果不包含构造的签名,则认为该页面URL不存在内网代理漏洞。

【技术特征摘要】

【专利技术属性】
技术研发人员:周耕辉
申请(专利权)人:周耕辉
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利