CN107566371B - 一种面向海量日志的WebShell挖掘方法 - Google Patents
一种面向海量日志的WebShell挖掘方法 Download PDFInfo
- Publication number
- CN107566371B CN107566371B CN201710791447.9A CN201710791447A CN107566371B CN 107566371 B CN107566371 B CN 107566371B CN 201710791447 A CN201710791447 A CN 201710791447A CN 107566371 B CN107566371 B CN 107566371B
- Authority
- CN
- China
- Prior art keywords
- url
- webshell
- website
- urls
- domain name
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种面向海量日志的WebShell挖掘方法,包括以下步骤:步骤1:收集单一入口类型的网站名单;步骤2:对日志进行检测,得到满足条件的URL,进而判断高度疑似WebShell;步骤3:检测可访问性,包括获取步骤2中URL对应域名的404页面内容和URL的页面内容,比较两次请求页面内容的莱文斯坦比,排除掉自定义404页面,以此判断该URL是否真实存在,若该URL真实存在则判断该URL为WebShell。本发明基于单一入口类型网站特殊的网站结构,配合自动化检测过滤掉自定义404页面,缩小嫌疑范围,大大提高识别WebShell的精准度,从而降低人工分析的成本。
Description
技术领域
本发明涉及WebShell挖掘领域,特别是一种面向海量日志的WebShell挖掘方法。
背景技术
WebShell,顾名思义,“web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作权限。黑客在入侵了一个网站后,通常会将这些asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问这些asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的(可以上传下载文件,查看数据库,执行任意程序命令等)。由于WebShell其大多是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。
现有技术中,通过收集网络上公开的WebShell并分析其特征,或者添加一些敏感函数建立WebShell特征库,然后在网站的访问日志中匹配这些特征或敏感函数,如果匹配上,则人工再次确认是否为WebShell。其存在以下不足:1)基于特征匹配容易出现大量误报;2)WebShell特征随时变换,特征库不能完全包含所有的特征,容易出现遗漏。
发明内容
本发明所要解决的技术问题是提供一种面向海量日志的WebShell挖掘方法,用于在海量网站日志中分析出真实的WebShell,其基于单一入口类型网站特殊的网站结构,配合自动化检测过滤掉自定义404页面,缩小嫌疑范围,大大提高识别WebShell的精准度,从而降低人工分析的成本。
为解决上述技术问题,本发明采用的技术方案是:
一种面向海量日志的WebShell挖掘方法,包括以下步骤:
步骤1:收集单一入口类型的网站名单;
步骤2:对日志进行检测,即:步骤2.1:收集步骤1中确定的单一入口类型网站的访问日志;步骤2.2:在步骤2.1提取的日志中,提取出HTTP状态码仅为200的URL;步骤2.3:将步骤2.2中得到的URL去掉参数,并取出动态脚本类型的URL;步骤2.4:比较步骤2.3得到中的URL是否与步骤1中收集的与此URL对应域名的URL一致,如果一致则判断为正常访问;如果所比较的两个URL不一致则判断为高度疑似WebShell;
步骤3:检测可访问性,即:步骤3.1:获取步骤2.3中URL对应域名的404页面内容;步骤3.2:获取步骤2.3中URL的页面内容;步骤3.3:比较两次请求页面内容的莱文斯坦比,排除掉自定义404页面,以此判断该URL是否真实存在;步骤3.4:如果该URL真实存在则判断该URL为WebShell。
进一步的,所述步骤1具体为:步骤1.1:提取一段时间内所有返回HTTP 200状态码的网站访问日志并取出访问的URL;步骤1.2:将所有的URL去掉参数,取出动态脚本类型的URL;步骤1.3:以步骤1.2中URL的域名为单位,统计出每个域名出现不同URL的个数;步骤1.4:提取出只有一个URL的域名并确定该网站为单一入口类型网站。
进一步的,还步骤4:对步骤3的判断结果进行人工复检。
与现有技术相比,本发明的有益效果是:传统的基于WebShell特征库的日志匹配方法会出现大量的误报,比如在面对扫描器时,经常会触发特征规则,实际上它并不是一次真实的WebShell访问请求,本发明通过单一入口型网站特殊的访问模型,再配合自动化URL检测,可以大大减少人工审查的工作量。
附图说明
图1是本发明方法中单一入口型网站名单收集流程示意图。
图2是本发明方法中日志检测流程示意图。
图3是本发明方法中可访问性检测流程示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明主要是针对单一入口类型网站特殊的网站访问模型进行分析。在单一入口类型的网站中,所有网站功能都通过同一个URL进行路由,也就是全站只有一个URL,而绝大多数的WebShell都是单独的一个脚本文件,在访问的时候通常是直接访问该WebShell的路径。由此在对网站长期的监控中如果发现出现了类似这样异常的URL访问请求,则属于高风险访问,需要对其进行进一步的分析。
由于很多网站都有自定义404功能,所以经常会出现访问了一个不存在的URL,而网站返回的是HTTP200状态码,因此单从状态码是不能判断该URL所指向的资源是否真的存在。本发明中自动检测通过判断网页内容的莱文斯坦比来识别自定义404页面,过滤出真实有效的访问请求,由此来提高识别WebShell的精准度。详述如下:
一、收集单一入口类型网站名单
如图1所示,具体说明如下:
步骤1:提取一段时间内(如一个月)所有返回HTTP 200状态码的网站访问日志并取出访问的URL。如:
http://www.test.com.cn/index.php?id=1&act=login
http://www.abc.net/index.asp?id=1&act=login
http://www.host.cn/index.jsp?id=1&act=login
步骤2:将所有的URL去掉参数、取出动态脚本类型的URL。如:
http://www.test.com.cn/index.php
http://www.abc.net/index.asp
http://www.host.cn/index.jsp
步骤3:以步骤2中URL的域名为单位,统计出每个域名出现不同URL的个数。
步骤4:提取出只有一个URL的域名并确定该网站为单一入口类型网站。
二、对日志进行检测
如图2所示,具体说明如下:
步骤1:收集步骤一中确定的单一入口类型网站的访问日志。
步骤2:在步骤1提取的日志中,去除掉HTTP状态码不是200的URL。
步骤3:将步骤2中的URL去掉参数后并取出动态脚本类型的URL。
步骤4:比较步骤3中的URL是否与模块一中对应域名的URL一致,如果一致则判断为正常访问。
步骤5:如果两个URL不一致则判断为高度疑似WebShell。
三、可访问性检测
如图3所示,具体说明如下:
步骤1:获取步骤二中URL对应域名的404页面内容。
步骤2:获取步骤二中URL的页面内容。
步骤3:比较两次请求页面内容的莱文斯坦比排除掉自定义404页面,以此判断该URL是否真实存在。
步骤4:如果该URL真实存在则判断该URL为WebShell。
步骤三的作用就是识别自定义404页面从而排除掉无意义的访问日志。下面解释一下什么是自定义404页面和使用莱文斯坦比识别自定义404页面的原理。
莱文斯坦比是一种用于比较两个字符串之间相似度的算法,目前已经有很成熟的算法库来实现该算法,只需要提供两个字符串即可得到它们的相似度。而自定义404页面就是:按照HTTP协议规范,当访问一个存在的页面时,服务器返回200状态码,当访问一个不存在的页面时,服务器会反回404状态码,但是有些网站处于安全性考虑,即使访问一个不存在的网页,它也会返回一个200状态码(即访问成功),这样做可以防止某些恶意爬虫爬取网站数据,或者防止黑客猜测网站目录和文件,即出于安全性的考虑。
既然访问一个不存在的页面服务器不再返回404状态码,那么就不能再用这种方法来判断该页面是否存在。所以这里换了一种方式来判断,由于网站的404页面内容基本都是一致的,那么先访问一个肯定不存在的页面,比如:www.domain.com/aaa/bbb/ccc/dddd/ eee.php,这个页面显示是不可能存在的,先把这个不存在的页面的html代码记录下来,然后在接下来的URL请求中,如果发现访问页面的html代码和这个不存在的页面的代码相似度很高,那么就判断它是一个不存在的页面,从而就过滤了自定义404页面。
Claims (2)
1.一种面向海量日志的WebShell挖掘方法,其特征在于,包括以下步骤:
步骤1:收集单一入口类型的网站名单,即
步骤1.1:提取一段时间内所有返回HTTP 200状态码的网站访问日志并取出访问的URL;
步骤1.2:将所有的URL去掉参数,取出动态脚本类型的URL;
步骤1.3:以步骤1.2中URL的域名为单位,统计出每个域名出现不同URL的个数;
步骤1.4:提取出只有一个URL的域名并确定该网站为单一入口类型网站;
步骤2:对日志进行检测,即:
步骤2.1:收集步骤1中确定的单一入口类型网站的访问日志;
步骤2.2:在步骤2.1提取的日志中,提取出HTTP状态码仅为200的URL;
步骤2.3:将步骤2.2中得到的URL去掉参数,并取出动态脚本类型的URL;
步骤2.4:比较步骤2.3得到中的URL是否与步骤1中收集的与此URL对应域名的URL一致,如果一致则判断为正常访问;如果所比较的两个URL不一致则判断为高度疑似WebShell;
步骤3:检测可访问性,即:
步骤3.1:获取步骤2.3中URL对应域名的404页面内容;
步骤3.2:获取步骤2.3中URL的页面内容;
步骤3.3:比较两次请求页面内容的莱文斯坦比,排除掉自定义404页面,以此判断该URL是否真实存在;
步骤3.4:如果该URL真实存在则判断该URL为WebShell。
2.如权利要求1所述的一种面向海量日志的WebShell挖掘方法,其特征在于,还步骤4:对步骤3的判断结果进行人工复检。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710791447.9A CN107566371B (zh) | 2017-09-05 | 2017-09-05 | 一种面向海量日志的WebShell挖掘方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710791447.9A CN107566371B (zh) | 2017-09-05 | 2017-09-05 | 一种面向海量日志的WebShell挖掘方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107566371A CN107566371A (zh) | 2018-01-09 |
CN107566371B true CN107566371B (zh) | 2020-08-18 |
Family
ID=60979063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710791447.9A Active CN107566371B (zh) | 2017-09-05 | 2017-09-05 | 一种面向海量日志的WebShell挖掘方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107566371B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851840B (zh) * | 2019-11-13 | 2022-03-11 | 杭州安恒信息技术股份有限公司 | 基于网站漏洞的web后门检测方法及装置 |
CN110909350B (zh) * | 2019-11-16 | 2022-02-11 | 杭州安恒信息技术股份有限公司 | 一种远程精准识别WebShell后门的方法 |
CN113779571B (zh) * | 2020-06-10 | 2024-04-26 | 天翼云科技有限公司 | WebShell检测装置、WebShell检测方法及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820419A (zh) * | 2010-03-23 | 2010-09-01 | 北京大学 | 一种挂马网页中网页木马挂接点自动定位方法 |
CN105812196A (zh) * | 2014-12-30 | 2016-07-27 | ***通信集团公司 | 一种WebShell检测方法及电子设备 |
CN106341407A (zh) * | 2016-09-19 | 2017-01-18 | 成都知道创宇信息技术有限公司 | 基于网站画像的异常访问日志挖掘方法及装置 |
CN106686020A (zh) * | 2017-03-29 | 2017-05-17 | 北京奇虎科技有限公司 | 域名安全性的检测方法、装置及*** |
CN106992981A (zh) * | 2017-03-31 | 2017-07-28 | 北京知道创宇信息技术有限公司 | 一种网站后门检测方法、装置和计算设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101291782B1 (ko) * | 2013-01-28 | 2013-07-31 | 인포섹(주) | 웹쉘 탐지/대응 시스템 |
-
2017
- 2017-09-05 CN CN201710791447.9A patent/CN107566371B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820419A (zh) * | 2010-03-23 | 2010-09-01 | 北京大学 | 一种挂马网页中网页木马挂接点自动定位方法 |
CN105812196A (zh) * | 2014-12-30 | 2016-07-27 | ***通信集团公司 | 一种WebShell检测方法及电子设备 |
CN106341407A (zh) * | 2016-09-19 | 2017-01-18 | 成都知道创宇信息技术有限公司 | 基于网站画像的异常访问日志挖掘方法及装置 |
CN106686020A (zh) * | 2017-03-29 | 2017-05-17 | 北京奇虎科技有限公司 | 域名安全性的检测方法、装置及*** |
CN106992981A (zh) * | 2017-03-31 | 2017-07-28 | 北京知道创宇信息技术有限公司 | 一种网站后门检测方法、装置和计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107566371A (zh) | 2018-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103023712B (zh) | 网页恶意属性监测方法和*** | |
CN106101145B (zh) | 一种网站漏洞检测方法及装置 | |
CN103297394B (zh) | 网站安全检测方法和装置 | |
CN106095979B (zh) | Url合并处理方法和装置 | |
Jonker et al. | Fingerprint surface-based detection of web bot detectors | |
CN101340434B (zh) | 网站恶意内容检测与认证方法及*** | |
CN101895516B (zh) | 一种跨站脚本攻击源的定位方法及装置 | |
CN103279710B (zh) | Internet信息***恶意代码的检测方法和*** | |
CN108337269B (zh) | 一种WebShell检测方法 | |
CN101490685A (zh) | 提高浏览网页的用户机的安全等级的方法 | |
CN105184159A (zh) | 网页篡改的识别方法和装置 | |
KR100968126B1 (ko) | 웹쉘 탐지 시스템 및 웹쉘 탐지 방법 | |
CN108768921B (zh) | 一种基于特征检测的恶意网页发现方法及*** | |
CN103914655A (zh) | 一种检测下载文件安全性的方法及装置 | |
CN103618696B (zh) | 对cookie信息进行处理的方法和服务器 | |
CN107566371B (zh) | 一种面向海量日志的WebShell挖掘方法 | |
WO2017063274A1 (zh) | 一种恶意跳转及恶意嵌套类不良网站的自动判定方法 | |
CN113779571B (zh) | WebShell检测装置、WebShell检测方法及计算机可读存储介质 | |
CN103312692B (zh) | 链接地址安全性检测方法及装置 | |
CN112887341A (zh) | 一种外部威胁监控方法 | |
CN108566392B (zh) | 基于机器学习的防御cc攻击***与方法 | |
CN104468459B (zh) | 一种漏洞检测方法及装置 | |
CN110909350B (zh) | 一种远程精准识别WebShell后门的方法 | |
CN108270754B (zh) | 一种钓鱼网站的检测方法及装置 | |
Singh et al. | A survey on different phases of web usage mining for anomaly user behavior investigation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: 9/F, Building C, No. 28, North Tianfu Avenue, China (Sichuan) Pilot Free Trade Zone, Hi tech Zone, Chengdu, 610000, Sichuan Patentee after: CHENGDU KNOWNSEC INFORMATION TECHNOLOGY Co.,Ltd. Address before: 610000, 11th floor, building 2, No. 219, Tianfu Third Street, hi tech Zone, Chengdu, Sichuan Province Patentee before: CHENGDU KNOWNSEC INFORMATION TECHNOLOGY Co.,Ltd. |
|
CP02 | Change in the address of a patent holder |