一种网站漏洞检测方法及装置、计算机装置及存储介质与流程

文档序号:11180641阅读:211来源:国知局
一种网站漏洞检测方法及装置、计算机装置及存储介质与流程

本发明涉及网络安全领域,具体涉及一种网站漏洞检测方法及装置、计算机装置及存储介质。



背景技术:

随着网页(web)技术的不断进步与发展,web应用程序承载了越来越多的业务,而随之而来的是web应用所面临的越来越复杂的安全问题。入侵者在入侵一个网站后,往往通过在网站中植入webshell的方式,来实现对网站进行长期控制的目的。

对于webshell的理解,“web”指的是服务器开放web服务的服务器,“shell”指的是取得对服务器某种程度上的操作权限。简单的说,webshell是以asp、php、jsp、cgi等网页文件形式存在的一种命令执行环境,也可以称作是一种网页后门,webshell是web入侵的脚本攻击工具。通常入侵者向网站中植入webshell时会经历以下几个步骤:首先是信息收集,找到目标网站的相关信息;然后是漏洞检测,利用收集到的信息,找到可以利用的漏洞,比如具有上传漏洞的web页面;之后是漏洞利用,利用检测到的具有漏洞的web页面,进行webshell上传,以在网站中植入webshell。webshell上传方式一般采用生成新的恶意web页面,或者在正常的web页面中植入恶意的web代码来实现。入侵者在网站中植入webshell之后,可以通过访问web页面的形式访问该脚本文件,来执行需要的恶意操作,如执行操作系统命令、文件管理等,从而达到对网站进行长期控制的目的。

在网站遭受到植入webshell后,需要查找到webshell并进行清除,用以及时消除对web服务器的危害。现有技术提出了大量针对webshell的检测方法,比如,基于webshell特征的检测,即webshell通过某些关键函数实现对系统文件的需改,以及调用操作系统命令,可以以这些关键函数为特征进行webshell检测,比如eval()等能够执行命令的函数进行匹配;比如基于页面关联关系的检测,由于webshell为攻击者植入的网页后门,在网站目录下,其他页面的关联关系中,可能不存在包含该webshell的页面,也不存在webshell包含本网站内其他页面链接的情况,即可视为该webshell为孤立页面,基于这一特点,通过梳理页面关联关系的方式找出网站中存在的孤立页面,该孤立页面即为webshell。

但是,webshell大多数情况下是由web页面的脆弱性漏洞植入的,现有技术只能用于找到webshell,无法找到入侵者植入webshell时利用的具有漏洞的web页面,这样就不能帮助网站管理者消除根源的漏洞,难以消除webshell的威胁。



技术实现要素:

本发明提供一种网站漏洞检测方法及装置、计算机装置及存储介质,用于解决现有技术无法找到入侵者植入webshell时利用的具有漏洞的web页面的问题。

本发明实施例的一方面提供了一种网站漏洞检测方法,包括:

当目标网站中的第一网页web页面接受访问时,若所述第一web页面产生第二web页面,所述第二web页面为新生成的页面或者被修改的页面,那么在第一日志中记录关联访问信息,所述关联访问信息关联记录有所述第一web页面和所述第二web页面;

检测所述目标网站中的webshell页面;

若在所述第一日志中存在记录有所述webshell页面的目标关联访问信息,则根据所述目标关联访问信息确定与所述webshell页面关联记录的web页面为目标web页面,所述目标web页面具有安全漏洞,所述webshell页面利用所述目标web页面的安全漏洞植入所述目标网站。

可选的,所述第一日志中记录的关联访问信息还包括访问时间和访问源的身份信息;

若在所述第一日志中存在记录有所述webshell页面的目标关联访问信息,所述方法还包括:

在所述目标关联访问信息中确定第一访问源的身份信息。

可选的,在检测所述目标网站中的webshell页面之前,所述方法还包括:

在第二日志中记录访问源对所述目标网站的访问信息,所述访问信息包括访问时间、访问目的页面的页面标识以及访问源的身份信息;

在所述目标关联访问信息中确定第一访问源的身份信息之后,所述方法还包括:

在所述第二日志中根据所述第一访问源的身份信息查找所述第一访问源对所述目标网站的第一访问信息。

可选的,检测到所述目标网站中的webshell页面之后,所述方法还包括:

在所述第二日志中查找记录有所述webshell页面的目标访问信息;

在所述目标访问信息中确定第二访问源的身份信息;

在所述第二日志中根据所述第二访问源的身份信息查找所述第二访问源对所述目标网站的第二访问信息。

可选的,所述身份信息包括互联网协议地址ip地址和/或用户代理ua。

本发明实施例的第二方面提供了一种网站漏洞检测装置,包括:

第一记录模块,用于当目标网站中的第一网页web页面接受访问时,若所述第一web页面产生第二web页面,所述第二web页面为新生成的页面或者被修改的页面,在第一日志中记录关联访问信息,所述关联访问信息关联记录有所述第一web页面和所述第二web页面;

检测模块,用于检测所述目标网站中的webshell页面;

第一确定模块,用于若在所述第一日志中存在记录有所述webshell页面的目标关联访问信息,根据所述目标关联访问信息确定与所述webshell页面关联记录的web页面为目标web页面,所述目标web页面具有安全漏洞,所述webshell页面利用所述目标web页面的安全漏洞植入所述目标网站。

可选的,所述第一日志中记录的关联访问信息还包括访问时间和访问源的身份信息;

所述装置还包括:

确定单元,用于若在所述第一日志中存在记录有所述webshell页面的目标关联访问信息,在所述目标关联访问信息中确定第一访问源的身份信息。

可选的,所述装置还包括:

第二记录模块,用于在第二日志中记录访问源对所述目标网站的访问信息,所述访问信息包括访问时间、访问目的页面的页面标识以及访问源的身份信息;

第一查找模块,用于在所述第二日志中根据所述第一访问源的身份信息查找所述第一访问源对所述目标网站的第一访问信息。

可选的,所述装置还包括:

第二查找模块,检测到所述目标网站中的webshell页面之后,在所述第二日志中查找记录有所述webshell页面的目标访问信息;

第二确定模块,用于在所述目标访问信息中确定第二访问源的身份信息;

第二查找模块,用于在所述第二日志中根据所述第二访问源的身份信息查找所述第二访问源对所述目标网站的第二访问信息。

本发明实施例的第三方面提供了一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至5中任意一项所述方法的步骤。

本发明实施例的第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任意一项所述方法的步骤。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明提供的网站漏洞检测方法中,当目标网站中的第一web页面接受访问时,若目标网站中存在第二web页面,第二web页面为新生成的页面或者被修改的页面,那么可以在第一日志中记录关联访问信息,关联访问信息关联记录第一web页面和第二web页面,之后可以进行webshell检测,检测到webshell页面之后,可以在第一日志中进行查找,若在第一日志中查找到与webshell页面关联记录的目标web页面,那么可以确定目标web页面具有安全漏洞,webshell页面利用安全漏洞植入目标网站,之后网站管理者可以对目标web页面的安全漏洞进行修复,避免入侵者再次利用目标web页面植入webshell,从而减少webshell对目标网站的威胁。

附图说明

图1是本发明网站漏洞检测方法一个实施例示意图;

图2是本发明访问信息记录方法一个实施例示意图;

图3是本发明webshell攻击过程分析方法一个实施例示意图;

图4是本发明由网关和网站服务器共同执行的漏洞检测方法一个实施例示意图;

图5是本发明网站漏洞检测装置一个实施例示意图;

图6是本发明网站漏洞检测装置另一个实施例示意图;

图7是本发明计算机装置一个实施例示意图。

具体实施方式

本发明实施例提供了一种网站漏洞检测方法及装置、计算机装置及存储介质,用于查找网站中webshell的植入原因,以帮助网站管理者修复相应的安全漏洞。

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

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

webshell大多数情况下是由web页面的脆弱性漏洞植入的,现有技术只能用于找到webshell,无法找到入侵者植入webshell时利用的具有漏洞的web页面,这样就不能帮助网站管理者消除根源的漏洞,也就无法消除webshell的威胁。为了解决现有技术的缺陷,帮助网站管理者找到入侵者植入webshell时利用的具有安全漏洞的web页面,我们需要首先分析一下入侵者利用webshell对网站进行攻击的过程:

(1)webshell植入前的铺垫工作:

攻击过程的前期,入侵者入侵网站后,通常会对网站内容进行扫描,以确定网站上的web组件和web页面等,之后进行安全漏洞的检测,比如检测到具有文件上传漏洞的目标web页面。

(2)webshell植入阶段:

入侵者确定目标web页面之后,可以访问目标web页面,进行上传操作,可以生成新的恶意web文件或者在正常的web文件中植入恶意的web代码,从而形成webshell页面,实现在网站中植入webshell。

(3)webshell的利用阶段:

入侵者在网站中植入webshell之后,可以访问网站中的webshell页面,执行需要的恶意操作。

由于在入侵者利用webshell对网站进行的攻击的过程中,关键在于确定具有安全漏洞的目标web页面,之后入侵者通过访问目标web页面,进行上传操作,以生成新的恶意web文件或者在正常的web文件中植入恶意的web代码,从而形成webshell页面,实现在网站中植入webshell,利用植入的webshell进行恶意操作。因此,为了避免webshell再次利用目标web页面植入网站,对网站构成威胁,需要帮助网站管理者查找确定webshell植入所利用的具有安全漏洞的目标web页面,使得网站管理者对目标web页面的安全漏洞进行修复。而现有技术对webshell的检测只是针对阶段(3)的,无法帮助网站管理者查找确定webshell植入所利用的具有安全漏洞的目标web页面。

为了解决现有技术的不足,本发明提供一种网站漏洞检测方法,请参阅图1,本发明网站漏洞检测方法一个实施例包括:

101、当目标网站中的第一web页面接受访问时,若第一web页面产生第二web页面,第二web页面为新生成的页面或者被修改的页面,那么在第一日志中记录关联访问信息,关联访问信息关联记录有第一web页面和第二web页面;

终端可以对目标网站中的web页面进行访问,当目标网站中的某个web页面(为了方便描述,之后将此web页面称作第一web页面)被访问时,若目标网站中有新生成的web页面或者原有的web页面被修改(为了方便描述,之后将此时新生成的web页面或者发生修改的原web页面称作第二web页面),那么网站漏洞检测装置可以在第一日志中记录关联访问信息,关联访问信息关联记录有第一web页面和第二web页面,或者说关联访问信息至少包括关联页面信息,记录的关联页面信息用以表明第一web页面和第二web页面的页面标识以及关联关系。比如,关联页面信息可以为:第一web页面的页面标识为a,第二web页面的页面标识为b,第一web页面被访问时,产生第二web页面。其中,web页面的页面标识用以确定web页面在目标网站上的位置,web页面的页面标识可以为web页面的网络地址,比如统一资源定位符url,也可以为web页面在硬盘上的存储路径,比如绝对路径,只要通过记录的web页面的页面标识能够找到第一web页面和第二web页面即可。

102、检测目标网站中的webshell页面;

网站漏洞检测装置可以利用webshell检测方法检测到目标网站中的webshell页面。采用的webshell检测方法可以为关键字检查,其成功率主要依赖检测者webshell特征库的大小和强弱;也可以为文件状态对比,定期扫描服务器上文件的变化,甚至对比每一个文件当前和历史的md5数值,快速定位可疑文件;还可以为运行特征检测,识别webshell可以从一些反常的请求行为上做判断,比如非工作时间无明显业务参数的连续脚本文件请求等。webshell检测方法已经比较成熟,本发明不具体限定采用的webshell检测方法。

103、若在第一日志中存在记录有webshell页面的目标关联访问信息,则根据目标关联访问信息确定与webshell页面关联记录的web页面为目标web页面,目标web页面具有安全漏洞,webshell页面利用目标web页面的安全漏洞植入目标网站。

检测到目标网站中的webshell页面之后,网站漏洞检测装置可以在第一日志中查找webshell页面,若存在,则确定与webshell页面关联记录的目标web页面具有安全漏洞,webshell页面是利用目标web页面的安全漏洞植入目标网站的。网站漏洞检测装置确定目标web页面之后,可以通知目标网站的管理者,管理者可以根据目标web页面进行目标网站的漏洞修复。

本发明提供的网站漏洞检测方法中,当目标网站中的第一web页面接受访问时,若目标网站中存在第二web页面,第二web页面为新生成的页面或者被修改的页面,那么可以在第一日志中记录关联访问信息,关联访问信息包括关联页面信息,关联页面信息用以表明第一web页面和第二web页面页面标识以及关联关系,之后可以进行webshell检测,检测到webshell页面之后,可以在第一日志中进行查找,若在第一日志中查找到与webshell页面关联记录的目标web页面,那么可以确定目标web页面具有安全漏洞,webshell页面利用安全漏洞植入目标网站,之后网站管理者可以对目标web页面的安全漏洞进行修复,避免入侵者再次利用目标web页面植入webshell,从而减少webshell对目标网站的威胁。

目标web页面为webshell植入所利用的有安全漏洞的页面,找到目标web页面,可以帮助目标网站的管理者找到和定位出webshell的植入原因,从而辅助目标网站的管理者对目标网站的安全漏洞进行修复。但是,了解入侵者利用webshell对网站进行攻击的阶段(1),对于帮助管理者找到webshell的植入原因也有很大作用,可以帮助管理者更加全面的掌握入侵者的入侵路径,还有可能帮助管理者找到其他的安全漏洞,从而进行更加有效的修复,更大程度的减少webshell对目标网站的威胁。

请参阅图2,本发明访问信息记录方法一个实施例包括:

201、接收到第一访问源对目标网站中的第一web页面的访问请求时,检测第一web页面是否产生第二web页面,第二web页面为新生成的页面或者被修改的页面,若是,则执行步骤202,若否,则执行步骤203;

终端可以对目标网站中的web页面进行访问,当第一web页面接受第一访问源的访问时,网站服务器检测第一web页面的操作情况,判断第一web页面是否产生第二web页面,第二web页面为新生成的页面或者被修改的页面,当第一web页面生成第二web页面或修改第二web页面时,执行步骤202,若否,则执行步骤203。

202、在第一日志中记录关联访问信息;

若第一访问源对第一web页面进行访问时,产生第二web页面,第二web页面为新生成的web页面,或原来存在的被修改的页面。此时可以在第一日志中记录关联访问信息,关联访问信息可以包括关联页面信息、第一访问源的身份信息以及访问时间,关联页面信息用以表明第一web页面和第二web页面的页面标识,以及第一web页面与第二web页面的关联关系,即第一web页面接受访问时,产生第二web页面,第二web页面为新生成的页面或者被修改的页面。

web页面的页面标识用以确定web页面在目标网站上的位置,web页面的页面标识可以为web页面的网络地址,比如统一资源定位符url,也可以为web页面在硬盘上的存储路径,比如绝对路径,只要通过记录的web页面的页面标识能够找到第一web页面和第二web页面即可。

第一访问源的身份信息可以包括互联网协议地址ip地址和用户代理(useragent,简称ua)中的至少一个。用户代理是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、cpu类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。优选的是同时记录第一访问源的ip地址和用户代理,本发明实施例以第一日志中记录的第一访问源的身份信息同时包括访问源的ip地址和用户代理为例进行说明。

203、在第二日志中记录第一访问源对目标网站的访问信息。

若第一访问源对第一web页面进行访问时,未产生第二web页面,第二web页面为新生成的web页面,或原来存在的被修改的页面,那么可以在第二日志中记录第一访问源对目标网站的访问信息,访问信息可以包括访问时间、第一web页面的页面标识以及第一访问源的身份信息等。

步骤203用于记录访问源对目标网站的访问信息,因此,在实际使用中,步骤203不限于在步骤201得到判断结果之后执行,也可以在步骤201之前执行,只要能够记录访问源对目标网站的访问信息即可,具体时序不做限定。

利用步骤201至步骤203,网站漏洞检测装置可以得到第一日志和第二日志,也就是关联访问信息和访问源对目标网站的访问信息,网站漏洞检测装置在检测到webshell之后,可以利用第一日志和第二日志进行webshell攻击过程的分析。请参阅图3,本发明webshell攻击过程分析方法一个实施例包括:

301、检测目标网站中的web页面a为webshell页面;

网站漏洞检测装置可以利用webshell检测方法检测到目标网站中的webshell页面。采用的webshell检测方法可以为关键字检查,其成功率主要依赖检测者webshell特征库的大小和强弱;也可以为文件状态对比,定期扫描服务器上文件的变化,甚至对比每一个文件当前和历史的md5数值,快速定位可疑文件;还可以为运行特征检测,识别webshell可以从一些反常的请求行为上做判断,比如非工作时间无明显业务参数的连续脚本文件请求等。webshell检测方法已经比较成熟,本发明不具体限定采用的webshell检测方法。假设检测到web页面a为webshell页面。

302、在第一日志中查找包括web页面a的目标关联访问信息;

检测到web页面a为webshell页面时,可以在第一日志中查找web页面a的目标关联访问信息。假设目标关联访问信息包括:2017年6月1日10点8分,访问目标web页面,目标web页面的url为url1,访问源a的ip为ip1、ua为ua1,发生修改或新生成web页面a,web页面a的url为url2。

303、在目标关联访问信息中确定与web页面a关联记录的目标web页面的页面标识以及访问源a的身份信息;

在第一日志中查找到包括web页面a的目标关联访问信息之后,可以在目标关联访问信息中确定与web页面a关联记录的目标web页面的页面标识以及访问源的身份信息。在本发明实施例中,确定的目标web页面的页面标识为url1,访问源的ip地址为ip1,用户代理为ua1。

依据webshell攻击的规律,可以确定目标web页面具有安全漏洞,访问源利用目标web页面的安全漏洞植入webshell页面。

304、在第二日志中根据访问源a的身份信息查找访问源a对目标网站的访问信息;

在第二日志中根据访问源a的身份信息可以查找到访问源a对目标网站的访问信息,作为举例,查找到的访问信息可以如下:(需要说明的是,由于身份信息包括ip地址和用户代理,在本发明实施例中,以ip地址相同的访问源作为相同的访问源)

2017年6月1日8点45分,访问源a访问web页面b,访问源a的ip为ip1、ua为ua1,web页面b的url为url3;

2017年6月1日8点50分,访问源a访问web页面c,访问源a的ip为ip1、ua为ua1,web页面c的url为url4;

2017年6月1日8点58分,访问源a访问web页面d,访问源a的ip为ip1、ua为ua1,web页面d的url为url5;

2017年6月1日10点8分,访问源a访问目标web页面,访问源a的ip为ip1、ua为ua1,目标web页面的url为url1;

2017年6月2日11点5分,访问源a访问web页面a,访问源a的ip为ip1、ua为ua2,第二web页面的url为url2;

2017年6月2日12点7分,访问源a访问web页面e,访问源a的ip为ip1、ua为ua2,web页面e的url为url6。

305、针对webshell进行告警以及拦截,并输出访问源a对目标网站的访问信息。

在实际应用中,网站漏洞检测装置查找到webshell之后,可以针对检测到的webshell进行告警以及拦截,以使得网站的管理者可以尽快查看webshell的检测结果,并自动对基于webshell的攻击行为进行拦截。在确定目标web页面之后,网站漏洞检测装置可以查找到访问源a对目标网站的访问信息,之后可以输出给目标网站的管理者,管理者可以根据目标web页面以及访问源a对目标网站的访问信息对webshell的攻击过程进行更加全面的了解,之后有助于对目标网站进行更加有效的修复,更大程度的减少webshell对目标网站的威胁。

在步骤304展示的访问信息中,可以看到,访问源a访问目标web页面、web页面a以及web页面e时,ua信息与之前的ua信息不同,这是因为,入侵者在进行webshell攻击的过程中,可能使用不同的ua,比如之前使用搜狗浏览器访问目标网站,之后使用ie浏览器访问目标网站。即便如此,由于不同浏览器的操作界面不同,入侵者因自身的使用习惯,其使用的浏览器往往有重复性,因此入侵者对目标网站进行访问时,其访问源的ua也具有一定规律性,可能帮助管理者分析入侵者的攻击过程。

另外,入侵者在进行webshell攻击的过程中,可能还会使用不同的ip地址,比如阶段(1)和阶段(2)在公司的终端上实施,那么入侵者对目标网站进行访问时目标网站检测到的访问源为访问源a,其ip地址为ip1,阶段(3)入侵者在家里的终端上实施,那么入侵者对目标网站进行访问时目标网站检测到的访问源b的ip地址为ip2。此时,为了更加全面的了解入侵者对目标网站的攻击过程,网站漏洞检测装置还可以在第二日志中根据访问源b的身份信息查找访问源b对目标网站的访问信息。之后,管理者可以根据目标web页面、访问源a对目标网站的访问信息以及访问源b对目标网站的访问信息对webshell的攻击过程进行更加全面的了解,之后有助于对目标网站进行更加有效的修复。

在图3对应的实施例中,步骤305可以向网站的管理者输出访问源a对目标网站的访问信息,管理者需要根据输出的访问信息对入侵者的攻击过程进行分析,但是,往往输出的访问信息信息量很大,并且,由于难以界定攻击过程开始的时间节点,因此需要分析的访问信息信息量巨大,完全由人工分析,效率过低。

为了帮助管理者快速分析入侵者的攻击过程,网站漏洞检测装置在查找到访问源a对目标网站的访问信息之后,可以对访问进行自动分析,比如可以采用分类器,对访问信息进行分类,判断哪些访问信息属于攻击过程的阶段(1),哪些访问信息属于攻击过程的阶段(2),哪些访问信息属于攻击过程的阶段(3)。更加具体的,可以判断哪些访问信息属于阶段(1)中的扫描行为,哪些访问信息属于阶段(1)中的漏洞检测行为,等等。分析结果可以采用图表的方式来展示,比如,可以以时间为轴,生成webshell攻击过程的示意图,使得展示结果更加形象,提高管理者对访问信息的分析效率。

上述网站漏洞检测装置可以为网站服务器,但是,入侵者在攻击网站的过程中,倾向于清除网站服务器中存储的日志信息,以干扰网站管理者对安全漏洞的修复,在这种情况下,若将上述实施例中记录的第一日志和第二日志存储在目标网站的服务器中,第一日志和第二日志的内容容易被篡改或者被清除。从这个角度考虑,网站漏洞检测装置可以包括网关和网站服务器,第一日志和第二日志存储于网关中。为了提高漏洞检测的有效性,优选的,由网关执行更多的漏洞检测步骤。出于这种考虑,请参阅图4,为本发明提供的由网关和网站服务器共同执行的漏洞检测方法:

401、当网关接收到对目标网站中第一web页面的访问请求时,网关在第二日志中记录第一访问源对目标网站的访问信息;

当网关接收到第一访问源对目标网站中第一web页面的访问请求时,网关在第二日志中记录第一访问源对目标网站的访问信息,访问信息可以包括访问时间、第一web页面的绝对路径以及第一访问源的第一ip地址等。

访问信息中的第一web页面的绝对路径为web页面的页面标识的一种。web页面的页面标识可以为web页面的网络地址,比如统一资源定位符url,也可以为web页面在硬盘上的存储路径,比如绝对路径,只要通过记录的web页面的页面标识能够找到第一web页面和第二web页面即可。在实际使用中,访问信息中也可以记录第一web页面其他类型的页面标识。

访问信息中第一访问源的第一ip地址为访问源的身份信息的一种。第一访问源的身份信息可以包括互联网协议地址ip地址和用户代理(useragent,简称ua)中的至少一个,实际使用中,访问信息中也可以记录第一访问源的其他类型的身份信息。

402、网关对第一web页面进行webshell特征库匹配检测,判断第一web页面是否为webshell页面,若是,则执行步骤407,若否,则执行步骤403;

网关接收到对目标网站中第一web页面的访问请求之后,可以对第一web页面进行webshell特征库匹配检测,特征库匹配检测可以包括危险函数检测、危险文件后缀检测、敏感文件名检测和内容关键字检测中的至少一种检测,根据检测结果可以判断第一web页面是否为webshell页面,若是,则执行步骤407,若否,则执行步骤403。

需要说明的是,现有技术中webshell检测方法已有很多,步骤402采用的webshell特征库匹配检测只是其中一种,在实际使用中还可以采用其他检测方法,此处不做具体限定。

403、网关允许访问请求通过;

若判定第一web页面不是webshell页面,那么网关允许访问请求通过,之后目标网站的网站服务器中的第一web页面可以接受第一访问源的访问。

404、网站服务器检测第一web页面是否产生第二web页面,第二web页面为新生成的页面或者被修改的页面,若是,则执行步骤405,若否,则执行步骤412;

当第一web页面接受第一访问源的访问时,网站服务器检测第一web页面的操作情况,判断第一web页面是否产生第二web页面,第二web页面为新生成的页面或者被修改的页面,当第一web页面生成第二web页面或修改第二web页面时,则执行步骤405,若否,则执行其他操作,比如网站服务器可以不对此次访问信息进行记录,也可以对此次访问信息进行记录,此处不做具体限定。

405、网站服务器在第一日志中记录关联访问信息;

若第一web页面产生第二web页面,则网站服务器在第一日志中记录关联访问信息,关联访问信息包括关联页面信息、第一访问源的身份信息、访问时间等,关联页面信息用以表明第一web页面和第二web页面的页面标识,以及第一web页面与第二web页面的关联关系,即第一web页面接受访问时,产生第二web页面,第二web页面为新生成的页面或者被修改的页面。在本发明实施例中,web页面的页面标识指web页面的url。

406、网站服务器将第一日志上传至网关;

网站服务器在第一日志中记录关联访问信息后,将第一日志上传至网关,网关对存储的第一日志进行更新,以增加此次新记录的关联访问信息。

407、网关在第一日志中查找是否存在包括第一web页面的目标关联访问信息,若是,则执行步骤408,若否,则执行步骤411;

若步骤402判定第一web页面是webshell页面,则网关在存储的第一日志中查找是否存在包括第一web页面的目标关联访问信息,若存在,则执行步骤408,若不存在,则说明webshell不是通过web页面访问方式植入的,可能通过远程桌面或病毒等方式植入的,此时执行步骤411。目标关联访问信息可以包括目标关联页面信息、第二访问源的第二ip、访问时间等,目标关联页面信息包括目标web页面和第一web页面的url,以及目标web页面与第一web页面的关联关系,即目标web页面接受访问时,产生第一web页面,第一web页面为新生成的页面或者被修改的页面。

408、网关在目标关联访问信息中确定与第一web页面关联记录的目标web页面的页面标识以及第二访问源的第二ip地址;

若第一web页面为webshell页面,且在第一日志中的目标关联访问信息中表明目标web页面产生第一web页面,那么可以判定目标web页面具有安全漏洞,第二访问源利用目标web页面的安全漏洞植入第一web页面。此时可以在目标关联访问信息中确定与第一web页面关联记录的目标web页面的url以及第儿访问源的第二ip地址。

409、网关根据第二ip地址在第二日志中查找第二访问源对目标网站的访问信息;

网关确定目标web页面的页面标识以及第二访问源的第二ip地址之后,可以根据第二ip地址在第二日志中查找第二访问源对目标网站的访问信息。

410、网关对目标关联访问信息以及第二访问源对目标网站的访问信息进行分类,生成webshell攻击过程示意图;

为了帮助管理者快速分析入侵者的攻击过程,网站漏洞检测装置在查找到第二访问源对目标网站的访问信息之后,可以对访问信息进行自动分析,比如可以采用分类器,对访问信息进行分类,判断哪些访问信息属于攻击过程的阶段(1),哪些访问信息属于攻击过程的阶段(2),哪些访问信息属于攻击过程的阶段(3)。更加具体的,可以判断哪些访问信息属于阶段(1)中的扫描行为,哪些访问信息属于阶段(1)中的漏洞检测行为,等等。分析结果可以以时间为轴,生成webshell攻击过程的示意图,使得展示结果更加形象。

411、网关进行webshell告警及webshell攻击拦截;

若步骤406中,网关在第一日志中未查找到包括webshell页面的目标关联访问信息,那么步骤411中网关进行webshell告警的方式仅为通知管理者第一web文件为webshell文件,目标网站受到webshell攻击。

若步骤406中,网关在第一日志中查找到包括webshell页面的目标关联访问信息,经过步骤407至410之后,网关还可以得到目标web页面的页面标识、第一访问源对目标网站的访问信息以及webshell攻击过程示意图,此时网关进行webshell告警的方式除了通知管理者第一web文件为webshell文件,目标网站受到webshell攻击以外,还可以向管理者输出以下三类信息中的至少一类信息:目标web页面的页面标识、第一访问源对目标网站的访问信息以及webshell攻击过程示意图。为了使得管理者能够更加全面的了解此次webshell攻击过程,优选的是同时输出上述三类信息。

网关确定第一web页面为webshell页面之后,可以对webshell攻击进行拦截。

在本发明实施例中,webshell的检测是在网关接收到对目标网站中第一web页面的访问请求后针对第一web页面进行的,在实际使用中,网关也可以不对访问请求进行webshell检测,而是定期对网站服务器进行webshell检测。

上面对本发明实施例中网站漏洞检测方法进行了描述,下面对本发明实施例中的装置进行描述。

请参阅图5,本发明实施例中网站漏洞检测装置的一个实施例包括:

第一记录模块501,用于当目标网站中的第一网页web页面接受访问时,若第一web页面产生第二web页面,第二web页面为新生成的页面或者被修改的页面,在第一日志中记录关联访问信息,关联访问信息关联记录有第一web页面和第二web页面;

检测模块502,用于检测目标网站中的webshell页面;

第一确定模块503,用于若在第一日志中存在记录有webshell页面的目标关联访问信息,根据目标关联访问信息确定与webshell页面关联记录的web页面为目标web页面,目标web页面具有安全漏洞,webshell页面利用目标web页面的安全漏洞植入目标网站。

请参阅图6,本发明实施例中网站漏洞检测装置的另一个实施例包括:

第一记录模块601,用于当目标网站中的第一网页web页面接受访问时,若第一web页面产生第二web页面,第二web页面为新生成的页面或者被修改的页面,在第一日志中记录关联访问信息,关联访问信息关联记录有第一web页面和第二web页面;

检测模块602,用于检测目标网站中的webshell页面;

第一确定模块603,用于若在第一日志中存在记录有webshell页面的目标关联访问信息,根据目标关联访问信息确定与webshell页面关联记录的web页面为目标web页面,目标web页面具有安全漏洞,webshell页面利用目标web页面的安全漏洞植入目标网站;

第二确定模块604,用于若在第一日志中存在记录有webshell页面的目标关联访问信息,在目标关联访问信息中确定第一访问源的身份信息;

第二记录模块605,用于在第二日志中记录访问源对目标网站的访问信息,访问信息包括访问时间、访问目的页面的页面标识以及访问源的身份信息;

第一查找模块606,用于在第二日志中根据第一访问源的身份信息查找第一访问源对目标网站的第一访问信息;

第二查找模块607,检测到目标网站中的webshell页面之后,在第二日志中查找记录有webshell页面的目标访问信息;

第三确定模块608,用于在目标访问信息中确定第二访问源的身份信息;

第二查找模块609,用于在第二日志中根据第二访问源的身份信息查找第二访问源对目标网站的第二访问信息。

本发明实施例还提供了一种计算机装置7,如图7所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机装置7可以为网站服务器、网关或者网站服务器和网关组成的系统。

参考图7,计算机装置7包括:电源710、存储器720、显示单元730、处理器740以及存储在存储器720中并可在处理器740上运行的计算机程序。所述处理器740执行计算机程序时实现上述各个信息处理方法实施例中的步骤,例如图1所示的步骤101至103。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块或单元的功能。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述计算机装置中的执行过程。例如,参照图5对应的实施例,所述计算机程序可以被分割成第一记录模块,检测模块和第一确定模块,各模块具体功能如下:

第一记录模块,用于当目标网站中的第一网页web页面接受访问时,若所述第一web页面产生第二web页面,所述第二web页面为新生成的页面或者被修改的页面,在第一日志中记录关联访问信息,所述关联访问信息关联记录有所述第一web页面和所述第二web页面;

检测模块,用于检测所述目标网站中的webshell页面;

第一确定模块,用于若在所述第一日志中存在记录有所述webshell页面的目标关联访问信息,根据所述目标关联访问信息确定与所述webshell页面关联记录的web页面为目标web页面,所述目标web页面具有安全漏洞,所述webshell页面利用所述目标web页面的安全漏洞植入所述目标网站。

本领域技术人员可以理解,图7中示出的结构并不构成对计算机装置7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,例如所述计算机装置还可以包括输入输出设备、网络接入设备、总线等。

所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

所述计算机装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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