一种认证扫描方法及web应用扫描系统与流程

文档序号:17923889发布日期:2019-06-15 00:17阅读:460来源:国知局
一种认证扫描方法及web应用扫描系统与流程

本申请涉及互联网技术领域,特别涉及一种认证扫描方法及web应用扫描系统。



背景技术:

web应用已成为internet上使用最广泛的服务,因为某些需求,常常需要扫描(或称爬取)web应用系统的页面并基于响应进行分析,如web应用漏洞扫描系统就是一个典型例子。

web应用系统通常会有一部分功能或信息是在认证之后才能访问的。web应用系统通常会提供登录页,用户可通过登录页提交凭证信息给认证模块,认证模块验证提交的凭证信息的有效性,如果是有效凭证信息,则创建认证会话并返回认证会话凭证(如认证会话cookie)给浏览器,此后用户就可以访问需要认证之后才能访问的功能或信息了。

为确保能够对web应用系统进行全面的扫描分析(如漏洞分析),即针对需要认证之后才能访问的功能或信息也能进行扫描分析,目前的web应用扫描系统(如web应用漏洞扫描系统或web应用脆弱性分析系统)普遍实现了一种基于认证会话凭证的认证扫描方法。在不能使用基于用户名和密码的认证扫描方法进行认证扫描时,如带有验证码的登录表单,通常可以使用这种方法进行认证扫描。如图1所示,这种方法包括:用户通过浏览器访问目标web应用系统的登录页并进行登录操作,在成功登录之后,获取所述认证会话凭证,然后web应用扫描系统基于所述认证会话凭证对目标web应用系统进行认证扫描。

但是,上述传统的认证扫描方法存在一些问题,具体地说:

1.上述传统的认证扫描方法虽然普遍被web应用扫描系统使用,但是获取认证会话凭证的操作是非常麻烦的,并且需要用户具有一定的专业知识。具体地,需要用户使用手工方式从某些工具或浏览器插件获取的信息里找到所述认证会话凭证,然后通过手工方式将所述认证会话凭证拷贝并粘贴到扫描配置中;

2.随着web安全形势越来越严峻,越来越多的web应用通过ip绑定的认证会话凭证来加强安全,所谓ip绑定的认证会话凭证即将web应用系统生成的认证会话凭证与访问ip地址关联起来。针对这种认证会话凭证与ip绑定的web应用系统,在用户使用浏览器跨网络访问并使用web应用扫描系统进行扫描时,上述传统的认证扫描方法不能应对。具体地,如图2所示,用户使用浏览器跨网络访问并使用web应用扫描系统对目标web应用系统进行扫描,其中,用户通过浏览器访问所述目标web应用系统时的访问请求的访问ip是用户所在网络的网关,而web应用扫描系统访问所述目标web应用系统时的访问ip是web应用扫描系统自己的ip,显然两个访问ip是不同的,这种情况下,如果目标web应用系统实现了认证会话凭证与ip地址的绑定,那么对于浏览器访问有效的认证会话凭证对于web应用扫描系统一定是无效的认证会话凭证,即当web应用扫描系统基于对浏览器有效的认证会话凭证对所述目标web应用系统进行认证扫描时,虽然所述认证会话凭证是有效的,但是因为认证会话凭证绑定的ip与访问ip不同,访问请求会被拒绝。由此可见,当用户通过浏览器跨网络访问并使用web应用扫描系统进行扫描时,如果目标web应用系统实现了认证会话凭证与ip地址的绑定,不能再通过用户浏览器访问目标web应用系统的登录页并进行登录操作的方式获取一个有效的认证会话凭证,也就无法使用上述传统的认证扫描方法对所述目标web应用系统进行认证扫描;

3.在某些情况下,由于某些原因,用户所在网络不能访问目标web应用系统。针对这种用户所在网络不能访问的目标web应用系统,但用户所在网络能访问web应用扫描系统并且所述web应用扫描系统能访问所述目标web应用系统,上述传统的认证扫描方法不能应对。具体地,因为用户所在网络不能访问目标web应用系统,所以不能再通过用户浏览器访问目标web应用系统的登录页并进行登录操作的方式获取一个有效的认证会话凭证,也就无法使用上述传统的认证扫描方法对所述目标web应用系统进行认证扫描。



技术实现要素:

本申请的目的在于提供一种认证扫描方法,能够解决传统的基于认证会话凭证的认证扫描方法存在的问题,具体地,能够实现以下技术效果:

1.能够自动获取目标web应用系统的认证会话凭证,获取操作对用户透明,且不需要任何专业知识,用户只需要像正常访问一样访问目标web应用系统的登录页并进行登录操作即可,非常地方便;

2.当用户跨网络访问并使用web应用扫描系统进行扫描时,能够应对认证会话凭证绑定了ip的web应用系统。具体地,仍然可以通过用户浏览器登录所述目标web应用系统的方式获取一个有效的认证会话凭证,然后所述web应用扫描系统基于所述认证会话凭证对所述目标web应用系统进行认证扫描;

3.当用户所在网络能访问web应用扫描系统并且所述web应用扫描系统能访问目标web应用系统时,能够应对用户所在网络不能访问所述目标web应用系统的情况。具体地,仍然可以通过用户浏览器登录所述目标web应用系统的方式获取一个有效的认证会话凭证,然后所述web应用扫描系统基于所述认证会话凭证对所述目标web应用系统进行认证扫描。

为实现上述目的,本申请提供一种认证扫描方法,所述方法基于认证会话凭证、浏览器插件和代理技术,是对传统的基于认证会话凭证的认证扫描方法的改进,所述方法包括:

装有web应用扫描系统的服务器开启代理服务,以使得所述服务器能转发用户浏览器和目标web应用系统之间的访问流量;

浏览器插件将浏览器的代理ip和端口设置为所述装有web应用扫描系统的服务器的ip和代理端口,以使得此后用户浏览器和目标web应用系统之间的访问流量经由所述装有web应用扫描系统的服务器转发;

在浏览器中打开一新窗口或标签页;

在所述新窗口或标签页中加载目标web应用系统的首页或登录页;

在所述新窗口或标签页所加载的页面中,导航到登录页并进行登录操作;

所述登录操作完成并成功登录之后,通过所述浏览器插件自动获取所述认证会话凭证;

所述浏览器插件将所述浏览器的代理ip和端口设置恢复至原来的值;

所述web应用扫描系统基于所述认证会话凭证对所述目标web应用系统进行认证扫描。

进一步地,浏览器插件将浏览器的代理ip和端口设置为所述装有web应用扫描系统的服务器的ip和代理端口包括:

用户通过一个点击操作触发所述浏览器插件自动地将浏览器的代理ip和端口设置为所述装有web应用扫描系统的服务器的ip和代理端口。

进一步地,所述浏览器插件将浏览器的代理ip和端口设置恢复至原来的值包括:

用户通过一个点击操作触发所述浏览器插件自动地将浏览器的代理ip和端口设置恢复至原来的值。

进一步地,所述登录操作完成并成功登录之后,通过所述浏览器插件自动获取所述认证会话凭证包括:

所述登录操作完成并成功登录之后,通过所述浏览器插件调用浏览器接口自动获取所述认证会话凭证,如认证会话cookie;

在获取所述认证会话凭证之后,自动将所述认证会话凭证设置到扫描配置中。

进一步地,所述web应用扫描系统基于所述认证会话凭证对所述目标web应用系统进行认证扫描包括:

所述web应用扫描系统从扫描配置中获取并使用所述认证会话凭证对所述目标web应用系统进行认证扫描。

为实现上述目的,本申请提供一种web应用扫描系统,所述系统实现了上述认证扫描方法,包括:

代理单元,用于转发浏览器和目标web应用系统之间的访问流量;

浏览器插件,用于更改浏览器的代理ip和端口设置及自动获取目标web应用系统的认证会话凭证;

扫描单元,能够基于一个有效的认证会话凭证对目标web应用系统进行认证扫描;

其中,所述扫描单元,能够基于一个有效的认证会话凭证对目标web应用系统进行认证扫描包括:

所述扫描单元从扫描配置中获取并使用认证会话凭证对所述目标web应用系统进行认证扫描。

进一步地,浏览器插件,用于更改浏览器的代理ip和端口设置及自动获取目标web应用系统的认证会话凭证包括:

用于将浏览器的代理ip和端口设置为所述装有web应用扫描系统的服务器的ip和代理端口;

用于在成功登录目标web应用系统后自动获取所述认证会话凭证;

用于将浏览器的代理ip和端口设置恢复至原来的值;

其中,用于将浏览器的代理ip和端口设置为所述装有web应用扫描系统的服务器的ip和代理端口包括:

用于当用户通过鼠标触发某一点击动作时自动地将浏览器的代理ip和端口设置为所述装有web应用扫描系统的服务器的ip和代理端口;

其中,用于将浏览器的代理ip和端口设置恢复至原来的值包括:

用于当用户通过鼠标触发某一点击动作时自动地将浏览器的代理ip和端口设置恢复至原来的值。

进一步地,浏览器插件,用于更改浏览器的代理ip和端口设置及自动获取目标web应用系统的认证会话凭证还包括:

用于打开一新窗口或标签页。

进一步地,浏览器插件,用于更改浏览器的代理ip和端口设置及自动获取目标web应用系统的认证会话凭证还包括:

在所述新窗口或标签页中加载目标web应用系统的首页或登录页。

进一步地,用于在成功登录目标web应用系统后自动获取所述认证会话凭证包括:

用于在成功登录目标web应用系统后自动获取所述认证会话凭证,如认证会话cookie;

用于在获取所述认证会话凭证之后自动地将所述认证会话凭证设置到扫描配置中。

由上可见,在用户通过所述浏览器进行登录操作并成功登录目标web应用系统整个操作期间,由于浏览器与目标web应用系统之间的所有访问流量是经由装有所述web应用扫描系统的服务器进行转发的,这使得:

1.实现了ip绑定认证会话凭证的目标web应用系统在创建认证会话时,将装有所述web应用扫描系统的服务器的ip绑定到认证会话凭证,这确保了所述web应用扫描系统基于所述认证会话凭证进行认证扫描时的访问ip与认证会话凭证绑定的ip是一致的,即对浏览器有效的认证会话凭证,在被web应用扫描系统使用来对所述目标web应用系统进行认证扫描时,仍然是合法的。因此,本申请提供的技术方案,在用户跨网络访问并使用web应用扫描系统进行扫描时,虽然浏览器和所述web应用扫描系统具有不同的ip地址,但针对所述目标web应用系统来说具有相同的访问ip,所以仍然可以通过浏览器访问目标web应用系统的登录页并进行登录操作的方式来获取一个有效的认证会话凭证,然后基于所述认证会话凭证对所述目标web应用系统进行认证扫描;

2.如果用户所在网络能访问web应用扫描系统并且所述web应用扫描系统能够访问所述目标web应用系统,即使用户所在网络不能访问目标web应用系统,但因为用户浏览器和所述目标web应用系统之间的访问流量是经所述web应用扫描系统转发的,所以仍然可以通过浏览器访问目标web应用系统的登录页并进行登录操作的方式来获取一个有效的认证会话凭证,然后基于所述认证会话凭证对所述目标web应用系统进行认证扫描。

附图说明

图1为使用传统的基于认证会话凭证的认证扫描方法进行认证扫描的交互示意图;

图2为跨网络访问web应用扫描系统时,使用传统的基于认证会话凭证的认证扫描方法对认证会话凭证绑定了ip的web应用系统进行认证扫描的交互示意图;

图3为本申请提供的认证扫描方法流程图;

图4为本申请提供的认证扫描系统基于本申请提供的认证扫描方法对认证会话凭证绑定了ip的web应用系统进行认证扫描的交互示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施方式,都应当属于本申请保护的范围。

请参阅图3,本申请提供一种认证扫描方法,所述方法基于认证会话凭证、浏览器插件及代理技术,是对传统的基于认证会话凭证的认证扫描方法的改进,所述方法包括:

s1:装有web应用扫描系统的服务器开启代理服务,以使得所述服务器能转发用户浏览器和目标web应用系统之间的访问流量;

s2:浏览器插件将浏览器的代理ip和端口设置为所述装有web应用扫描系统的服务器的ip和代理端口,以使得此后用户浏览器和目标web应用系统之间的访问流量经由所述装有web应用扫描系统的服务器转发;

s3:在浏览器中打开一新窗口或标签页;

s4:在所述新窗口或标签页中加载目标web应用系统的首页或登录页;

s5:在所述新窗口或标签页所加载的页面中,导航到登录页并进行登录操作;

s6:所述登录操作完成并成功登录之后,通过所述浏览器插件自动获取所述认证会话凭证;

s7:所述浏览器插件将所述浏览器的代理ip和端口设置恢复至原来的值;

s8:所述web应用扫描系统基于所述认证会话凭证对所述目标web应用系统进行认证扫描。

在图3中,虚线框里没有用实线连接到其它操作的操作,如s2,表示该操作与虚线框里的其它操作的操作顺序不分先后。

进一步地,浏览器插件将浏览器的代理ip和端口设置为所述装有web应用扫描系统的服务器的ip和代理端口包括:

用户通过一个点击操作触发所述浏览器插件自动地将浏览器的代理ip和端口设置为所述装有web应用扫描系统的服务器的ip和代理端口。

进一步地,所述浏览器插件将浏览器的代理ip和端口设置恢复至原来的值包括:

用户通过一个点击操作触发所述浏览器插件自动地将浏览器的代理ip和端口设置恢复至原来的值。

进一步地,所述登录操作完成并成功登录之后,通过所述浏览器插件自动获取所述认证会话凭证包括:

所述登录操作完成并成功登录之后,通过所述浏览器插件调用浏览器接口自动获取所述认证会话凭证,如认证会话cookie;

在获取所述认证会话凭证之后,自动将所述认证会话凭证设置到扫描配置中。

进一步地,所述web应用扫描系统基于所述认证会话凭证对所述目标web应用系统进行认证扫描包括:

所述web应用扫描系统从扫描配置中获取并使用所述认证会话凭证对所述目标web应用系统进行认证扫描。

为实现上述目的,本申请提供一种web应用扫描系统,所述系统实现了上述认证扫描方法,包括:

代理单元,用于转发浏览器和目标web应用系统之间的访问流量;

浏览器插件,用于更改浏览器的代理ip和端口设置及自动获取目标web应用系统的认证会话凭证;

扫描单元,能够基于一个有效的认证会话凭证对目标web应用系统进行认证扫描;

其中,所述扫描单元,能够基于一个有效的认证会话凭证对目标web应用系统进行认证扫描包括:

所述扫描单元从扫描配置中获取并使用认证会话凭证对所述目标web应用系统进行认证扫描。

进一步地,浏览器插件,用于更改浏览器的代理ip和端口设置及自动获取目标web应用系统的认证会话凭证包括:

用于将浏览器的代理ip和端口设置为所述装有web应用扫描系统的服务器的ip和代理端口;

用于在成功登录目标web应用系统后自动获取所述认证会话凭证;

用于将浏览器的代理ip和端口设置恢复至原来的值;

其中,用于将浏览器的代理ip和端口设置为所述装有web应用扫描系统的服务器的ip和代理端口包括:

用于当用户通过鼠标触发某一点击动作时自动地将浏览器的代理ip和端口设置为所述装有web应用扫描系统的服务器的ip和代理端口;

其中,用于将浏览器的代理ip和端口设置恢复至原来的值包括:

用于当用户通过鼠标触发某一点击动作时自动地将浏览器的代理ip和端口设置恢复至原来的值。

进一步地,浏览器插件,用于更改浏览器的代理ip和端口设置及自动获取目标web应用系统的认证会话凭证还包括:

用于打开一新窗口或标签页。

进一步地,浏览器插件,用于更改浏览器的代理ip和端口设置及自动获取目标web应用系统的认证会话凭证还包括:

在所述新窗口或标签页中加载目标web应用系统的首页或登录页。

进一步地,用于在成功登录目标web应用系统后自动获取所述认证会话凭证包括:

用于在成功登录目标web应用系统后自动获取所述认证会话凭证,如认证会话cookie;

用于在获取所述认证会话凭证之后自动地将所述认证会话凭证设置到扫描配置中。

在实际应用中,请参阅图4,实现了所述基于认证会话凭证、浏览器插件和代理技术的认证扫描方法的web应用扫描系统,包括:

1.代理单元:可以是web应用扫描系统的一个模块,也可以是一个独立的代理服务。可以使用知名的代理服务(如squid代理服务)作为代理单元;

2.浏览器插件:是实现本申请提供的技术方案的关键。具体地,在通过浏览器访问所述web应用扫描系统并编辑扫描配置时:当用户通过鼠标触发某一点击操作时,该浏览器插件自动从所述扫描配置中获取目标web应用系统的url并打开一新窗口或标签页加载所述url;利用上一个点击操作或者某一个新的点击操作(如点击所述新窗口或标签页使其获得焦点的点击操作)触发该浏览器插件自动地将浏览器的代理ip和端口设置为所述web应用扫描系统的ip和所述代理单元的端口;然后,在所述新窗口或标签页加载的所述url页中,用户可以像通常的访问一样,导航到登录页并进行登录操作,在用户成功登录所述目标web应用系统之后,当用户通过鼠标触发某一新点击操作(如点击所述新窗口或标签页的关闭按钮)时,该浏览器插件自动地获取所述认证会话凭证至所述扫描配置中;为确保仅仅用户浏览器与所述目标web应用系统之间的访问流量经由所述代理单元转发,即不影响用户浏览器与其它web应用系统之间的访问流量,在所述新窗口或标签页失去焦点时以及被关闭时,触发该浏览器插件自动地将浏览器的代理ip和端口设置恢复至原来的值,并在所述新窗口或标签页再次获得焦点时,触发该浏览器插件自动地将浏览器的代理ip和端口设置为所述web应用扫描系统的ip和所述代理单元的端口;

3.实现了一个扫描引擎,能够基于扫描配置对目标web应用系统进行扫描,如果扫描配置中包含了一个有效的认证会话凭证,能够基于该认证会话凭证对目标web应用系统进行认证扫描。

因为在所述新窗口或标签页里的登录页面中进行登录操作的整个操作期间,访问流量是经由代理单元进行转发的,相当于登录操作是在该web应用扫描系统所在服务器上(而不是用户浏览器所在机器上)进行的,所以:

1.目标web应用系统即使实现了认证会话凭证绑定ip地址,返回到浏览器的认证会话凭证被绑定的ip也是该web应用扫描系统所在服务器的ip,因此该认证会话凭证当被该web应用扫描系统使用来对所述目标web应用系统进行认证扫描,不会被所述目标web应用系统认为是非法的。因此,目标web应用系统即使实现了认证会话凭证绑定ip地址,所述web应用扫描系统仍然能使用通过浏览器所获得的认证会话凭证对所述目标web应用系统进行认证扫描;

2.即使用户所在网络不能访问目标web应用系统,但如果用户所在网络能访问web应用扫描系统并且所述web应用扫描系统能访问所述目标web应用系统,例如当用户跨网络访问并使用web应用扫描系统进行扫描时就可能遇到这种情况,此时仍然能够通过用户浏览器获得一个有效认证会话凭证,然后所述web应用扫描系统基于该认证会话凭证对所述目标web应用系统进行认证扫描。

由上可见,所述基于认证会话凭证、浏览器插件和代理技术的认证扫描方法,与传统的基于认证会话凭证的认证扫描方法相比,具有如下优势:

1.能够自动获取并设置认证会话凭证到扫描配置中,非常方便,并且所述获取和设置操作对用户透明,不需要专业知识;

2.当用户通过浏览器跨网络访问并使用web应用扫描系统进行扫描时,能够应对认证会话凭证绑定了ip的web应用系统,即仍然能够通过用户浏览器获得一个有效认证会话凭证,然后所述web应用扫描系统基于该认证会话凭证对所述目标web应用系统进行认证扫描;

3.当用户所在网络能访问web应用扫描系统并且所述web应用扫描系统能访问目标web应用系统时,能够应对用户所在网络不能访问所述目标web应用系统的情况,即仍然能够通过用户浏览器获得一个有效认证会话凭证,然后所述web应用扫描系统基于该认证会话凭证对所述目标web应用系统进行认证扫描。

上面对本申请的实施方式的描述以描述的目的提供给本领域技术人员。其不旨在是穷举的、或者不旨在将本发明限制于单个公开的实施方式。如上所述,本申请的各种替代和变化对于上述技术所属领域技术人员而言将是显而易见的。因此,虽然已经具体讨论了一些另选的实施方式,但是其它实施方式将是显而易见的,或者本领域技术人员相对容易得出。本申请旨在包括在此已经讨论过的本发明的所有替代、修改、和变化,以及落在上述申请的精神和范围内的其它实施方式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1