CN111199040A - 页面篡改检测方法、装置、终端及存储介质 - Google Patents
页面篡改检测方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN111199040A CN111199040A CN201911312864.6A CN201911312864A CN111199040A CN 111199040 A CN111199040 A CN 111199040A CN 201911312864 A CN201911312864 A CN 201911312864A CN 111199040 A CN111199040 A CN 111199040A
- Authority
- CN
- China
- Prior art keywords
- webpage
- code
- detected
- codes
- website
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/565—Static detection by checking file integrity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种页面篡改检测方法,包括:通过服务器导入待检测网站的源码;将源码按照网站结构进行分类,提取出待检测网站中每个网页的网页目录和第一网页代码;将每个网页目录中的网页名与待检测网站的域名进行拼接,得到多个待检测网页的链接;预设周期内爬取每个链接指向的网页的第二网页代码;当第二网页代码中不存在白名单函数代码且第二网页代码与第一网页代码不一致时,输出待检测网页的网页代码被篡改的信息。本发明还提供了一种页面篡改检测装置、终端及存储介质。本发明通过拼接得到待检测网站的精确链接,提高了获取待检测网站的效率;通过爬取待检测网站的代码并与白名单和第二网页代码进行比对,降低了误报率和漏判率。
Description
技术领域
本发明涉及网络安全技术领域,具体涉及一种页面篡改检测方法、装置、终端及存储介质。
背景技术
目前,检测页面是否发生篡改主要有两大类方法:一种是利用浏览器测试框架驱动搜索引擎,搜索待检测网站的页面并判断待检测网站的页面中是否存在目标网站域名,根据判断结果判定待检测网站是否发生篡改但是这种检测方法需要耗费大量的时间。一种是使用防篡改平台,通过黑词库构建方法,不断的新创黑词或者短语,统计黑词或者短语在待检测网站的页面中出现的概率,根据概率的大小确定所述待检测网站是否发生篡改,然而误判率较高;并且仅仅通过统计黒词出现的概率无法准确判定待检测网站是否被篡改,漏判率较高。
因此,一种快速获取待检测网站的网页及降低网页被篡改的误报率和漏判率成为了亟待解决的问题。
发明内容
鉴于以上内容,有必要提出一种页面篡改检测方法、装置、终端及存储介质,通过拼接得到待检测网站的精确链接,提高了获取待检测网站的效率;通过爬取待检测网站的代码并与白名单和第二网页代码进行比对,降低了误报率和漏判率。
本发明的第一方面提供一种页面篡改检测方法,所述方法包括:
通过服务器导入待检测网站的源码;
将所述源码按照网站结构进行分类,提取出所述待检测网站中每个网页的网页目录和第一网页代码;
将每个所述网页目录中的网页名与所述待检测网站的域名进行拼接,得到多个待检测网页的链接;
预设周期内爬取每个所述链接指向的网页的第二网页代码;
比对所述第二网页代码中是否存在白名单函数代码;
当所述第二网页代码中不存在所述白名单函数代码时,比对所述第二网页代码与所述第一网页代码是否一致;
当所述第二网页代码与所述第一网页代码不一致时,输出所述待检测网页的网页代码被篡改的信息。
优选的,在将所述源码按照网站结构进行分类,提取出所述待检测网站中每个网页的网页目录和第一网页代码之后,所述方法还包括:
提取所述每个网页的网页目录的第一网页代码;
建立网页目录的提取顺序与目录存储单元中第一条目位置之间的关联关系,及第一网页代码的提取顺序与母版存储单元中第二条目位置之间的关联关系;
根据所述网页目录的提取顺序将所述每个网页的网页目录存储至对应的第一条目位置中;
根据所述第一网页代码的提取顺序将所述每个网页的网页目录的第一网页代码存储至对应的第二条目位置中。
优选的,在所述预设周期内爬取每个所述链接指向的网页的第二网页代码之后,所述方法还包括:
建立推送顺序与子版存储单元中第三条目位置之间的关联关系;
根据所述推送顺序将所述第二网页代码推送至对应的第三条目位置中。
优选的,所述比对所述第二网页代码中是否存在白名单函数代码包括:
依次获取所述第三条目位置中的所述第二网页代码;
提取所述第二网页代码中的每一行代码;
将所述每一行代码与预先存储的白名单函数代码进行一一比对;
当任意一行代码中存在所述白名单函数代码,确定所述第二网页代码中存在所述白名单函数代码;
当任意一行代码中均不存在所述白名单函数代码,确定所述第二网页代码中不存在所述白名单函数代码。
优选的,所述比对所述第二网页代码与所述第一网页代码是否一致包括:
识别所述第二网页代码对应的链接;
提取所述链接中的文件名;
识别所述文件名对应的第一条目位置中的所述网页目录;
依次获取所述网页目录对应的第二条目位置中与所述文件名对应的所述第一网页代码;
提取所述第一网页代码中的每一行代码;
控制多线程将所述第一网页代码与对应的所述第二网页代码进行一一比对;
当所述第一网页代码与对应的所述第二网页代码均相同时,确定所述第二网页代码与所述第一网页代码一致;
当所述第一网页代码与对应的所述第二网页代码不相同时,确定所述第二网页代码与所述第一网页代码不一致。
优选的,在控制多线程将所述第一网页代码与对应的所述第二网页代码进行一一比对的过程中,所述方法还包括:
当所述第一网页代码的第一行数代码与所述第二网页代码中对应所述第一行数的网页代码不同时,记录所述第一行数;
跳转指针指向所述第一网页代码的第二行数代码;
将所述第二行数代码与所述第二网页代码中对应所述第二行数的网页代码进行比对,直至所述指针指向第一网页代码的最后一行代码。
优选的,在所述输出所述待检测网页的网页代码被篡改的信息之后,所述方法还包括:
提取所述被篡改的信息中的第一关键词;
判断所述第一关键词中是否存在预设的第二关键词,其中,所述第二关键词为数据库中预先存储的历史被篡改信息中的多次出现的关键词;
当所述第一关键词中存在所述第二关键词时,确定所述待检测网页为高频被篡改网页;
当所述第一关键词中不存在所述第二关键词时,确定所述待检测网页为首次被篡改网页。
本发明的第二方面提供一种页面篡改检测装置,所述装置包括:
导入模块,用于通过服务器导入待检测网站的源码;
提取模块,用于将所述源码按照网站结构进行分类,提取出所述待检测网站中每个网页的网页目录和第一网页代码;
拼接模块,用于将每个所述网页目录中的网页名与所述待检测网站的域名进行拼接,得到多个待检测网页的链接;
爬取模块,用于预设周期内爬取每个所述链接指向的网页的第二网页代码;
比对模块,用于比对所述第二网页代码中是否存在白名单函数代码;
所述比对模块,还用于当所述第一判断模块确定所述第二网页代码中不存在所述白名单函数代码时,比对所述第二网页代码与所述第一网页代码是否一致;
输出模块,用于当所述比对模块确定所述第二网页代码与所述第一网页代码不一致时,输出所述待检测网页的网页代码被篡改的信息。
本发明的第三方面提供一种终端,所述终端包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述页面篡改检测方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述页面篡改检测方法。
综上所述,本发明所述的页面篡改检测方法、装置、终端及存储介质,通过服务器导入待检测网站的源码;将所述源码按照网站结构进行分类,提取出所述待检测网站中每个网页的网页目录和第一网页代码;将每个所述网页目录中的网页名与所述待检测网站的域名进行拼接,得到多个待检测网页的链接;预设周期内爬取每个所述链接指向的网页的第二网页代码;比对所述第二网页代码中是否存在白名单函数代码;当所述第二网页代码中不存在所述白名单函数代码时,比对所述第二网页代码与所述第一网页代码是否一致;当所述第二网页代码与所述第一网页代码不一致时,输出所述待检测网页的网页代码被篡改的信息。本发明通过将所述网站目录中的网页名与待检测网站的域名进行拼接得到待检测网站的链接后直接爬取所述链接指向的网站的第二网站代码,不用通过搜索引擎搜索待检测网站的链接,加快了爬取待检测网站的代码的效率;另一方面,先通过待检测网站的代码与白名单函数代码的比对,排除由于白名单函数代码的变化引起的待检测的网站的代码改变被误认为已经发生篡改的误报情况,降低了网站检测的误报率。然后再将所述第二网站代码与所述第一网站代码进行比对,在一定的程度上更加全面的进行了网站的检测,降低了漏判率。
附图说明
图1是本发明实施例一提供的页面篡改检测方法的流程图。
图2是本发明实施例二提供的页面篡改检测装置的结构图。
图3是本发明实施例三提供的终端的结构示意图。
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
实施例一
图1是本发明实施例一提供的页面篡改检测方法的流程图。
在本实施例中,所述页面篡改检测方法可以应用于终端中,对于需要进行页面篡改检测的终端,可以直接在终端上集成本发明的方法所提供的页面篡改检测的功能,或者以软件开发工具包(Software Development Kit,SKD)的形式运行在终端中。
如图1所示,所述页面篡改检测方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
S11:通过服务器导入待检测网站的源码。
本实施例中,所述待检测网站的源码是通过服务器的导入接口导入的,所述待检测网站中包括一个或者多个网页,所述待检测网站的源码中包括需要检测的所有网页的源码。
S12:将所述源码按照网站结构进行分类,提取出所述待检测网站中每个网页的网页目录和第一网页代码。
本实施例中,对网站结构进行分类并提取每个网页的网页目录和第一网页代码后,将网页目录和第一网页代码存储在存储单元中。
终端可以预先将所述存储单元划分为:目录存储单元、母版存储单元和子板存储单元,其中,所述目录存储单元用于存储已分类的网页目录,所述母版存储单元用于存储已分类的网页代码,所述子版存储单元用于存储爬取的网页代码。
优选的,在所述将所述源码按照网站结构进行分类,提取出所述待检测网站中每个网页的网页目录和第一网页代码之后,所述方法还包括:
提取所述每个网页的网页目录的第一网页代码;
建立网页目录的提取顺序与目录存储单元中第一条目位置之间的关联关系,及第一网页代码的提取顺序与母版存储单元中第二条目位置之间的关联关系;
根据所述网页目录的提取顺序将所述每个网页的网页目录存储至对应的第一条目位置中;
根据所述第一网页代码的提取顺序将所述每个网页的网页目录的第一网页代码存储至对应的第二条目位置中。
示例性的,假设wangzhan根目录下有index.html,test1.html,test2.html,则从wangzhan的根目录中首先提取出网页目录wangzhan/index.html,接着提取出网页目录wangzhan/test1.html、最后提取出网页目录wangzhan/test2.html。将网页目录wangzhan/index.html存储在目录存储单元的第一个条目位置中;将网页目录wangzhan/test1.html储存在目录存储单元的第二个条目位置中,网页目录wangzhan/test2.html存储在目录存储单元的第三个条目位置中。首先提取出网页目录wangzhan/index.html的第一网页代码A,接着提取出网页目录wangzhan/test1.html的第一网页代码B,最后提取出网页目录wangzhan/test2.html的第一网页代码C;则将第一网页代码A存储在母版存储单元的第一个条目位置中,将第一网页代码B存储在母版存储单元的第二个条目位置中,将第一网页代码C存储在母版存储单元的第三个条目位置中。
S13:将每个所述网页目录中的网页名与待检测网站的域名进行拼接,得到多个待检测网页的链接。
本实施例中,所述待检测网站的域名是预先设置的,获取所述待检测网站的域名,提取目录存储单元中的每个待检测网页的网页目录,将所述待检测网站的域名与每个网页目录中的网页名进行拼接,得到多个待检测网页的链接。
示例性的,将待检测网站的域名表示为:www.wangzhan.com,提取目录存储单元中的网页目录wangzhan/index.html中对应的网页名:index.html,将所述网站的域名与所述网页名进行拼接得到待检测网页的完整的链接url=www.wangzhan.com/index.html。
本实施例中,通过待检测网站的域名直接进行搜索,可以搜索出很多个网页的链接,通过筛选得到待检测网页的链接,耗费时间,本发明通过将所述网页目录的网页名与待检测网站的域名进行拼接得到精确的待检测网页的链接,节省了时间,提高了获得待检测网页的链接的效率。
S14:预设周期内爬取每个所述链接指向的网页的第二网页代码。
本实施例中,可以预先设置爬取周期,所述预设周期可以设置为具体的时间段,例如:每一天、每小时、每半小时、或者每周星期一等,也可以设置为某一固定的时间点,例如:每周五18:00-23:00等。第二网页代码指的是待检测网页的网页代码,通过在预设周期内启动多个爬虫引擎采用多线程爬取每个链接指向的网页得到第二网页代码。
优选的,在所述预设周期内爬取每个所述链接指向的网页的第二网页代码之后,所述方法还包括:
建立推送顺序与子版存储单元中第三条目位置之间的关联关系;
根据所述推送顺序将所述第二网页代码推送至对应的第三条目位置中。
示例性的,推送来的第一个网页链接www.wangzhan.com/index.html对应的第二网页代码存储到子版存储单元的第一个条目位置。推送来的第二个网页的链接www.wangzhan.com/test1.html对应的第二网页代码存储到子版存储单元的第二个条目位置。以此类推,推送的每个网页链接对应的第二网页代码都会对应存储到子版存储单元的相应的条目位置。
本实施例中,所述爬虫引擎采用python语言脚本,例如:
#!/usr/bin/python
#-*-coding:UTF-8-*-
import requests
import urllib2
f1=open(“目录储存单元地址”)
i=1
for i in f1:
dath=f1.readline
url='http://域名/’+’dath'
response1=urllib2.urlopen(url)
f2=open(‘子版储存单元地址’,‘w’,encoding=’utf-8’)
f2.write(response1)
f2.close()
i+=1
通过将所述网页目录中的网页名与第二待检测网站的域名进行拼接组成完整的链接,整合到脚本中,不需要通过搜索引擎搜索获取网站的链接,通过网站的链接获取待检测网页的链接,而是基于拼接得到精准的待检测网页的链接,节约了时间,加快了获取待检测网页链接的速度,并根据所述链接直接爬取第二网页代码,提高了待检测网页的网页代码的爬取效率。
S15:比对所述第二网页代码中是否存在白名单函数代码。
本实施例中,可以预先设置白名单函数代码,所述白名单函数代码是指预先设置的系统实时变化的函数的代码,例如:时间函数、日期函数、图片滚动函数的代码等。将所述白名单函数代码预先存储到数据库中,判断所述白名单函数代码是否存在于所述第二网页代码中。
优选的,所述比对所述第二网页代码中是否存在白名单函数代码包括:
依次获取所述第三条目位置中的所述第二网页代码;
提取所述第二网页代码中的每一行代码;
将所述每一行代码与预先存储的白名单函数代码进行一一比对;
当任意一行代码中存在所述白名单函数代码,确定所述第二网页代码中存在所述白名单函数代码;
当任意一行代码中均不存在所述白名单函数代码,确定所述第二网页代码中不存在所述白名单函数代码。
本实施例中,通过提取所述第二网页代码中的每一行代码与预先存储的白名单函数代码进行一一比对,确定所述第二网页代码中是否存在所述白名单函数代码。本实施例中,通过将待检测网页的网页代码与预先存储的白名单函数代码进行一一比对来提前排除了由于白名单函数代码的变化被误认为所述网站中的网页代码发生了篡改的情况,降低了网站篡改检测的误报率。
当确定所述第二网页代码中不存在所述白名单函数代码时,则执行S16;否则,当确定所述第二网页代码中存在所述白名单函数代码时,比对指针跳过比对移到下一行继续执行S15。
S16:比对所述第二网页代码与所述第一网页代码是否一致。
本实施例中,在确定第二网页代码中不存在白名单函数代码时,将所述第二网页代码与所述第一网页代码进行一一比对,根据比对结果确定所述第二网页代码与所述第一网页代码是否一致。
优选的,所述比对所述第二网页代码与所述第一网页代码是否一致包括:
识别所述第二网页代码对应的链接;
提取所述链接中的文件名;
识别所述文件名对应的第一条目位置中的所述网页目录;
依次获取所述网页目录对应的第二条目位置中与所述文件名对应的所述第一网页代码;
提取所述第一网页代码中的每一行代码;
控制多线程将所述第一网页代码与对应的所述第二网页代码进行一一比对;
当所述第一网页代码与对应的所述第二网页代码均相同时,确定所述第二网页代码与所述第一网页代码一致;
当所述第一网页代码与对应的所述第二网页代码不相同时,确定所述第二网页代码与所述第一网页代码不一致。
示例性的,所述第二网站的网页对应的链接为:www.wangzhan.com/index.html,提取文件名:index,根据所述文件名从母版存储单元中查找相应的文件名index对应的第一网页代码,将所述第二网页代码与所述第一网页代码进行一一比对得到比对结果,统计所述比对结果确定所述第二网页代码与所述第一网页代码是否一致,当所述第二网页代码与所述第一网页代码一致时,确定所述待检测网页没有被篡改,当所述第二网页代码与所述第一网页代码不一致时,确定所述待检测网页发生了篡改。
优选的,在控制多线性将所述第一网页代码与对应的所述第二网页代码进行一一比对的过程中,所述方法还包括:
当所述第一网页代码的第一行数代码与所述第二网页代码中对应所述第一行数的网页代码不同时,记录所述第一行数;
跳转指针指向所述第一网页代码的第二行数代码;
将所述第二行数代码与所述第二网页代码中对应所述第二行数的网页代码进行比对,直至所述指针指向第一网页代码的最后一行代码。
本实施例中,所述第一行数代码指的不是第一行代码,指的是网页代码中的某一行代码,所述第二行数代码指的不是第二行代码,指的是所述第一行数代码的下一行代码。当所述第一网页代码的第一行数代码与第二网页中对应行数的代码不同时,记录所述第一行数;当所述第一网页代码的第一行数代码与第二网页中对应行数的代码相同时,跳转至第二行数代码继续进行比对,直至所述第一网页代码的最后一行代码比对完成。
本实施例中,每个待检测网页的链接对应一个第一网页代码,通过采用多线程并发执行将每个第一网页代码与对应爬取的第二网页代码同时进行比对,得到待检测网站的每个网页的比对结果,保证比对过程快速解析,提高了网站的检测效率,同时是通过网站中的所有网页的网页代码进行一一比对,降低了漏判率。
当确定所述第二网页代码与所述第一网页代码不一致时,执行S17;否则,当确定所述第二网页代码与所述第一网页代码一致时,执行S18。
S17:输出所述待检测网页的网页代码被篡改的信息。
本实施例中,当所述第二网页代码与所述第一网页代码在比对过程中出现代码不一致的现象时,认为所述待检测网页的网页代码被篡改了,则输出被篡改的信息,所述被篡改的信息包括:被篡改网页的网页名、被篡改网页的页面位置、被篡改的第一关键词。
进一步的,在所述输出所述待检测网页的网页代码被篡改的信息之后,所述方法还包括:
提取所述被篡改的信息中的第一关键词;
判断所述第一关键词中是否存在预设的第二关键词;
当所述第一关键词中存在所述第二关键词时,确定所述待检测网页为高频被篡改网页;
当所述第一关键词中不存在所述第二关键词时,确定所述待检测网页为首次被篡改网页。
本实施例中,可以预先设置第二关键词,所述第二关键词为数据库中预先存储的历史被篡改信息中的多次出现的关键词。当提取所述被篡改的信息的第一关键词中存在预设的第二关键词时,确定所述第一关键词对应的待检测网页为高频被篡改网页,直接获取所述第二关键词对应的修复代码,根据所述第二关键词对应的修复代码对被篡改的信息的代码进行修复,提高了维护效率,避免了因未及时修护而导致的事态进一步的扩展。
进一步的,当确定所述待检测网页为首次被篡改网页之后,所述方法还包括:
判断所述被篡改的信息是否为遗漏的函数代码;
当所述被篡改的信息为遗漏的函数代码时,确定所述待检测网页没有被篡改,添加所述遗漏的函数代码至所述白名单函数代码中;
当所述被篡改的信息不为遗漏的函数代码时,确定所述待检测网页被篡改,修复所述被篡改的信息的代码。
本实施例中,所述遗漏的函数代码为没有及时更新到白名单中的函数的代码,当所述被篡改的信息为遗漏的函数代码时,将所述被篡改的信息的代码对应的函数添加到白名单函数中;当确定所述被篡改的信息不为遗漏的函数代码时,对所述被篡改的信息的代码进行修复并上报至领导。
本实施例中,通过判断所述被篡改的信息是否为没有及时更新到白名单中的函数,进一步降低了网页被篡改检测的误报率。
S18:输出所述待检测网页的网页代码未被篡改的信息。
本实施例中,根据所述第一网页代码与所述第二网页代码的比对结果确定所述第二网页代码没有发生篡改后输出未被篡改的信息,及时的告知管理员网页检测结束待检测网页未发生篡改。
综上所述,本实施例所述的一种网页篡改检测方法,通过接收导入的待检测网站的源码;将所述源码按照网站结构进行分类,提取出所述待检测网站中每个网页的网页目录和第一网页代码;将每个网页目录中的网页名与待检测网站的域名进行拼接,得到多个待检测网页的链接;预设周期内爬取每个链接指向的网页的第二网页代码;比对所述第二网页代码中是否存在白名单函数代码;当所述第二网页代码中不存在所述白名单函数代码时,比对所述第二网页代码与所述第一网页代码是否一致;当所述第二网页代码与所述第一网页代码不一致时,输出所述待检测网页的网页代码被篡改的信息。本实施例通过将每个网页目录中的网页名与待检测网站的域名进行拼接得到待检测网页的链接后直接爬取所述链接指向的网页的第二网页代码,不用通过搜索引擎搜索待检测网页的链接,加快了爬取待检测网页的网页代码的效率;另一方面,先通过待检测网页的网页代码与白名单函数代码的比对,排除由于白名单函数代码的变化引起的待检测的网页的网页代码改变被误认为已经发生篡改的误报情况,降低了网站检测的误报率。然后再将所述第二网页代码与所述第一网页代码进行比对,在一定的程度上更加全面的进行了网站的检测,降低了漏判率。
此外,当确定被篡改的信息为高频网页的被篡改的信息时,直接获取所述第二关键词对应的修复代码,根据所述第二关键词对应的修复代码对被篡改的信息的代码进行修复,提高了维护效率。并将首次出现的被篡改信息进行判断确定是否为白名单函数没有及时更新遗漏的函数的代码,进一步降低了网站被篡改检测的误报率。
实施例二
图2是本发明实施例二提供的页面篡改检测装置的结构图。
在一些实施例中,所述页面篡改检测装置20可以包括多个由程序代码段所组成的功能模块。所述页面篡改检测装置20中的各个程序段的程序代码可以存储于终端的存储器中,并由所述至少一个处理器所执行,以执行(详见图1描述)对存在页面篡改进行检测。
本实施例中,所述页面篡改检测装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:导入模块201、提取模块202、关联模块203、存储模块204、拼接模块205、爬取模块206、推送模块207、比对模块208、记录模块209、指向模块210、及输出模块211。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
导入模块201:用于通过服务器导入待检测网站的源码。
本实施例中,所述待检测网站的源码是通过服务器的导入接口导入的,所述待检测网站中包括一个或者多个网页,所述待检测网站的源码中包括需要检测的所有网页的源码。
提取模块202:用于将所述源码按照网站结构进行分类,提取出所述待检测网站中每个网页的网页目录和第一网页代码。
本实施例中,对网站结构进行分类并提取每个网页的网页目录和第一网页代码后,将网页目录和第一网页代码存储在存储单元中。
终端可以预先将所述存储单元划分为:目录存储单元、母版存储单元和子板存储单元,其中,所述目录存储单元用于存储已分类的网页目录,所述母版存储单元用于存储已分类的网页代码,所述子版存储单元用于存储爬取的网页代码。
优选的,在所述将所述源码按照网站结构进行分类,提取出所述待检测网站中每个网页的网页目录和第一网页代码之后,所述页面篡改检测装置还包括:
所述提取模块202,还用于提取所述每个网页的网页目录的第一网页代码;
关联模块203:用于建立网页目录的提取顺序与目录存储单元中第一条目位置之间的关联关系,及第一网页代码的提取顺序与母版存储单元中第二条目位置之间的关联关系;
存储模块204:用于根据所述网页目录的提取顺序将所述每个网页的网页目录存储至对应的第一条目位置中;
所述存储模块204,还用于根据所述第一网页代码的提取顺序将所述每个网页的网页目录的第一网页代码存储至对应的第二条目位置中。示例性的,假设wangzhan根目录下有index.html,test1.html,test2.html,则从wangzhan的根目录中首先提取出网页目录wangzhan/index.html,接着提取出网页目录wangzhan/test1.html、最后提取出网页目录wangzhan/test2.html。将网页目录wangzhan/index.html存储在目录存储单元的第一个条目位置中;将网页目录wangzhan/test1.html储存在目录存储单元的第二个条目位置中,网页目录wangzhan/test2.html存储在目录存储单元的第三个条目位置中。首先提取出网页目录wangzhan/index.html的第一网页代码A,接着提取出网页目录wangzhan/test1.html的第一网页代码B,最后提取出网页目录wangzhan/test2.html的第一网页代码C;则将第一网页代码A存储在母版存储单元的第一个条目位置中,将第一网页代码B存储在母版存储单元的第二个条目位置中,将第一网页代码C存储在母版存储单元的第三个条目位置中。
拼接模块205:用于将每个所述网页目录中的网页名与待检测网站的域名进行拼接,得到多个待检测网页的链接。
本实施例中,所述待检测网站的域名是预先设置的,获取所述待检测网站的域名,提取目录存储单元中的每个待检测网页的网页目录,将所述待检测网站的域名与每个网页目录中的网页名进行拼接,得到多个待检测网页的链接。
示例性的,将待检测网站的域名表示为:www.wangzhan.com,提取目录存储单元中的网页目录wangzhan/index.html中对应的网页名:index.html,将所述网站的域名与所述网页名进行拼接得到待检测网页的完整的链接url=www.wangzhan.com/index.html。
本实施例中,通过待检测网站的域名直接进行搜索,可以搜索出很多个网页的链接,通过筛选得到待检测网页的链接,耗费时间,本发明通过将所述网页目录的网页名与待检测网站的域名进行拼接得到精确的待检测网页的链接,节省了时间,提高了获得待检测网页的链接的效率。
爬取模块206:用于预设周期内爬取每个所述链接指向的网页的第二网页代码。
本实施例中,可以预先设置爬取周期,所述预设周期可以设置为具体的时间段,例如:每一天、每小时、每半小时、或者每周星期一等,也可以设置为某一固定的时间点,例如:每周五18:00-23:00等。第二网页代码指的是待检测网页的网页代码通过在预设周期内启动多个爬虫引擎采用多线程爬取每个链接指向的网页得到第二网页代码。
优选的,在所述预设周期内爬取每个所述链接指向的网页的第二网页代码之后,所述页面篡改检测装置还包括:
所述关联模块203,还用于建立推送顺序与子版存储单元中第三条目位置之间的关联关系;
推送模块207:用于根据所述推送顺序将所述第二网页代码推送至对应的第三条目位置中。
示例性的,推送来的第一个网页链接www.wangzhan.com/index.html对应的第二网页代码存储到子版存储单元的第一个条目位置。推送来的第二个网页的链接www.wangzhan.com/test1.html对应的第二网页代码存储到子版存储单元的第二个条目位置。以此类推,推送的每个网页链接对应的第二网页代码都会对应存储到子版存储单元的相应的条目位置。
本实施例中,所述爬虫引擎采用python语言脚本,例如:
#!/usr/bin/python
#-*-coding:UTF-8-*-
import requests
import urllib2
f1=open(“目录储存单元地址”)
i=1
for i in f1:
dath=f1.readline
url='http://域名/’+’dath'
response1=urllib2.urlopen(url)
f2=open(‘子版储存单元地址’,‘w’,encoding=’utf-8’)
f2.write(response1)
f2.close()
i+=1
通过将所述网页目录中的网页名与第二待检测网站的域名进行拼接组成完整的链接,整合到脚本中,不需要通过搜索引擎搜索获取网站的链接,通过网站的链接获取待检测网页的链接,而是基于拼接得到精准的待检测网页的链接,节约了时间,加快了获取待检测网页链接的速度,并根据所述链接直接爬取第二网页代码,提高了待检测网页的网页代码的爬取效率。
比对模块208:用于比对所述第二网页代码中是否存在所述白名单函数代码。
本实施例中,可以预先设置白名单函数代码,所述白名单函数代码是指预先设置的系统实时变化的函数的代码,例如:时间函数、日期函数、图片滚动函数的代码等。将所述白名单函数代码预先存储到数据库中,判断所述白名单函数代码是否存在于所述第二网页代码中。
优选的,所述比对模块208比对所述第二网页代码中是否存在白名单函数代码包括:
依次获取所述第三条目位置中的所述第二网页代码;
提取所述第二网页代码中的每一行代码;
将所述每一行代码与预先存储的白名单函数代码进行一一比对;
当任意一行代码中存在所述白名单函数代码,确定所述第二网页代码中存在所述白名单函数代码;
当任意一行代码中均不存在所述白名单函数代码,确定所述第二网页代码中不存在所述白名单函数代码。
本实施例中,通过提取所述第二网页代码中的每一行代码与预先存储的白名单函数代码进行一一比对,确定所述第二网页代码中是否存在所述白名单函数代码。本实施例中,通过将待检测网页的网页代码与预先存储的白名单函数代码进行一一比对来提前排除了由于白名单函数代码的变化被误认为所述网站中的网页代码发生了篡改的情况,降低了网站篡改检测的误报率。
本实施例中,当所述比对模块208确定所述第二网页代码中存在所述白名单函数代码时,比对指针跳过比对移到下一行继续运行所述第一判断模块205。
所述比对模块208:还用于当确定所述第二网页代码中不存在所述白名单函数代码时,比对所述第二网页代码与所述第一网页代码是否一致。
本实施例中,在确定第二网页代码中不存在白名单函数代码时,将所述第二网页代码与所述第一网页代码进行一一比对,根据比对结果确定所述第二网页代码与所述第一网页代码是否一致。
优选的,所述比对模块208比对所述第二网页代码与所述第一网页代码是否一致包括:
识别所述第二网页代码对应的链接;
提取所述链接中的文件名;
识别所述文件名对应的第一条目位置中的所述网页目录;
依次获取所述网页目录对应的第二条目位置中与所述文件名对应的所述第一网页代码;
提取所述第一网页代码中的每一行代码;
控制多线程将所述第一网页代码与对应的所述第二网页代码进行一一比对;
当所述第一网页代码与对应的所述第二网页代码均相同时,确定所述第二网页代码与所述第一网页代码一致;
当所述第一网页代码与对应的所述第二网页代码不相同时,确定所述第二网页代码与所述第一网页代码不一致。
示例性的,所述第二网站的网页对应的链接为:www.wangzhan.com/index.html,提取文件名:index,根据所述文件名从母版存储单元中查找相应的文件名index对应的第一网页代码,将所述第二网页代码与所述第一网页代码进行一一比对得到比对结果,统计所述比对结果确定所述第二网页代码与所述第一网页代码是否一致,当所述第二网页代码与所述第一网页代码一致时,确定所述待检测网页没有被篡改,当所述第二网页代码与所述第一网页代码不一致时,确定所述待检测网页发生了篡改。
优选的,在控制多线程将所述第一网页代码与对应的所述第二网页代码进行一一比对的过程中,所述页面篡改检测装置还包括:
记录模块209,用于当所述第一网页代码的第一行数代码与所述第二网页代码中对应所述第一行数的网页代码不同时,记录所述第一行数;
指向模块210,用于跳转指针指向所述第一网页代码的第二行数代码;
所述比对模块208,还用于将所述第二行数代码与所述第二网页代码中对应所述第二行数的网页代码进行比对,直至所述指针指向第一网页代码的最后一行代码。
本实施例中,所述第一行数代码指的不是第一行代码,指的是网页代码中的某一行代码,所述第二行数代码指的不是第二行代码,指的是所述第一行数代码的下一行代码。当所述第一网页代码的第一行数代码与第二网页中对应行数的代码不同时,记录所述第一行数;当所述第一网页代码的第一行数代码与第二网页中对应行数的代码相同时,跳转至第二行数代码继续进行比对,直至所述第一网页代码的最后一行代码比对完成。
本实施例中,每个待检测网页的链接对应一个第一网页代码,通过采用多线程并发执行将每个第一网页代码与对应爬取的第二网页代码同时进行比对,得到待检测网站的每个网页的比对结果,保证比对过程快速解析,提高了网站的检测效率,同时是通过网站中的所有网页的网页代码进行一一比对,降低了漏判率。
输出模块211:用于当所述比对模块208确定所述第二网页代码与所述第一网页代码不一致时,输出所述待检测网页的网页代码被篡改的信息。
本实施例中,当所述第二网页代码与所述第一网页代码在比对过程中出现代码不一致的现象时,认为所述待检测网页的网页代码被篡改了,则输出被篡改的信息,所述被篡改的信息包括:被篡改网页的网页名、被篡改网页的页面位置、被篡改的第一关键词。
本实施例中,在所述输出模块211输出所述待检测网页的网页代码被篡改的信息之后,提取所述被篡改的信息中的第一关键词;判断所述第一关键词中是否存在预设的第二关键词;当确定所述第一关键词中存在所述第二关键词时,确定所述待检测网页为高频被篡改网页;当确定所述第一关键词中不存在所述第二关键词时,确定所述待检测网页为首次被篡改网页。
本实施例中,可以预先设置第二关键词,所述预设第二关键词为数据库中预先存储的历史被篡改的信息的关键词。当提取所述被篡改的信息的第一关键词中存在预设的第二关键词时,确定所述第一关键词对应的待检测网页为高频被篡改网页,直接获取所述第二关键词对应的修复代码进行被篡改的信息的代码的修复,提高了维护效率,避免了因未及时修护而导致的事态进一步的扩展。进一步的,当确定所述待检测网页为首次被篡改网页之后,判断所述被篡改的信息是否为遗漏的函数代码;当确定所述被篡改的信息为遗漏的函数代码时,所述待检测网页没有被篡改,添加所述遗漏的函数代码至所述白名单函数代码中;当确定所述被篡改的信息不为遗漏的函数代码时,确定所述待检测网页被篡改,修复所述被篡改的信息的代码。
本实施例中,所述遗漏的函数代码为没有及时更新到白名单中的函数的代码,当所述被篡改的信息为遗漏的函数代码时,将所述被篡改的信息的代码对应的函数添加到白名单函数中;当确定所述被篡改的信息不为遗漏的函数代码时,对所述被篡改的信息的代码进行修复并上报至领导。
本实施例中,通过判断所述被篡改的信息是否为没有及时更新到白名单中的函数,进一步降低了网页被篡改检测的误报率。
输出模块211:还用于当所述比对模块208确定所述第二网页代码与所述第一网页代码一致时,输出所述待检测网页的网页代码未被篡改的信息。
本实施例中,根据所述第一网页代码与所述第二网页代码的比对结果确定所述第二网页代码没有发生篡改后输出未被篡改的信息,及时的告知管理员网页检测结束待检测网页未发生篡改。
综上所述,本实施例所述的一种网页篡改检测装置,通过服务器导入待检测网站的源码;将所述源码按照网站结构进行分类,提取出所述待检测网站中每个网页的网页目录和第一网页代码;将每个所述网页目录中的网页名与待检测网站的域名进行拼接,得到多个待检测网页的链接;预设周期内爬取每个所述链接指向的网页的第二网页代码;比对所述第二网页代码中是否存在白名单函数代码;当所述第二网页代码中不存在所述白名单函数代码时,比对所述第二网页代码与所述第一网页代码是否一致;当所述第二网页代码与所述第一网页代码不一致时,输出所述待检测网页的网页代码被篡改的信息;当所述第二网页代码与所述第一网页代码一致时,输出所述待检测网页的网页代码未被篡改的信息。本实施例通过将每个网页目录中的网页名与待检测网站的域名进行拼接得到待检测网页的链接后直接爬取所述链接指向的网页的第二网页代码,不用通过搜索引擎搜索待检测网页的链接,加快了爬取待检测网页的网页代码的效率;另一方面,先通过待检测网页的网页代码与白名单函数代码的比对,排除由于白名单函数代码的变化引起的待检测的网页的网页代码改变被误认为已经发生篡改的误报情况,降低了网站检测的误报率。然后再将所述第二网页代码与所述第一网页代码进行比对,在一定的程度上更加全面的进行了网站的检测,降低了漏判率。
此外,通过确定被篡改的信息为高频网页的被篡改的信息,直接获取所述第二关键词对应的修复代码,根据所述修复代码对被篡改的信息的代码进行修复,提高了维护效率。并将首次出现的被篡改信息进行判断确定是否为白名单函数没有及时更新遗漏的函数的代码,进一步降低了网站被篡改检测的误报率。
实施例三
参阅图3所示,为本发明实施例三提供的终端的结构示意图。在本发明较佳实施例中,所述终端3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。
本领域技术人员应该了解,图3示出的终端的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结构,所述终端3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
在一些实施例中,所述终端3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的终端,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述终端3还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
需要说明的是,所述终端3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
在一些实施例中,所述存储器31用于存储程序代码和各种数据,例如安装在所述终端3中的页面篡改检测装置20,并在终端3的运行过程中实现高速、自动地完成程序或数据的存取。所述存储器31包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
在一些实施例中,所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述至少一个处理器32是所述终端3的控制核心(Control Unit),利用各种接口和线路连接整个终端3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行终端3的各种功能和处理数据,例如执行页面篡改的检测。
在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。
尽管未示出,所述终端3还可以是给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述终端3还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
在进一步的实施例中,结合图2,所述至少一个处理器32可执行所述终端3的操作装置以及安装的各类应用程序(如所述的页面篡改检测装置20)、程序代码等,例如,上述的各个模块。
所述存储器31中存储有程序代码,且所述至少一个处理器32可调用所述存储器31中存储的程序代码以执行相关的功能。例如,图2中所述的各个模块是存储在所述存储器31中的程序代码,并由所述至少一个处理器32所执行,从而实现所述各个模块的功能以达到页面篡改检测的目的。
在本发明的一个实施例中,所述存储器31存储多个指令,所述多个指令被所述至少一个处理器32所执行以实现页面篡改检测的功能。
具体地,所述至少一个处理器32对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (10)
1.一种页面篡改检测方法,其特征在于,所述方法包括:
通过服务器导入待检测网站的源码;
将所述源码按照网站结构进行分类,提取出所述待检测网站中每个网页的网页目录和第一网页代码;
将每个所述网页目录中的网页名与所述待检测网站的域名进行拼接,得到多个待检测网页的链接;
预设周期内爬取每个所述链接指向的网页的第二网页代码;
比对所述第二网页代码中是否存在白名单函数代码;
当所述第二网页代码中不存在所述白名单函数代码时,比对所述第二网页代码与所述第一网页代码是否一致;
当所述第二网页代码与所述第一网页代码不一致时,输出所述待检测网页的网页代码被篡改的信息。
2.如权利要求1所述的方法,其特征在于,在将所述源码按照网站结构进行分类,提取出所述待检测网站中每个网页的网页目录和第一网页代码之后,所述方法还包括:
提取所述每个网页的网页目录的第一网页代码;
建立网页目录的提取顺序与目录存储单元中第一条目位置之间的关联关系,及第一网页代码的提取顺序与母版存储单元中第二条目位置之间的关联关系;
根据所述网页目录的提取顺序将所述每个网页的网页目录存储至对应的第一条目位置中;
根据所述第一网页代码的提取顺序将所述每个网页的网页目录的第一网页代码存储至对应的第二条目位置中。
3.如权利要求2所述的方法,其特征在于,在所述预设周期内爬取每个所述链接指向的网页的第二网页代码之后,所述方法还包括:
建立推送顺序与子版存储单元中第三条目位置之间的关联关系;
根据所述推送顺序将所述第二网页代码推送至对应的第三条目位置中。
4.如权利要求3所述的方法,其特征在于,所述比对所述第二网页代码中是否存在白名单函数代码包括:
依次获取所述第三条目位置中的所述第二网页代码;
提取所述第二网页代码中的每一行代码;
将所述每一行代码与预先存储的白名单函数代码进行一一比对;
当任意一行代码中存在所述白名单函数代码,确定所述第二网页代码中存在所述白名单函数代码;
当任意一行代码中均不存在所述白名单函数代码,确定所述第二网页代码中不存在所述白名单函数代码。
5.如权利要求3所述的方法,其特征在于,所述比对所述第二网页代码与所述第一网页代码是否一致包括:
识别所述第二网页代码对应的链接;
提取所述链接中的文件名;
识别所述文件名对应的第一条目位置中的所述网页目录;
依次获取所述网页目录对应的第二条目位置中与所述文件名对应的所述第一网页代码;
提取所述第一网页代码中的每一行代码;
控制多线程将所述第一网页代码与对应的所述第二网页代码进行一一比对;
当所述第一网页代码与对应的所述第二网页代码均相同时,确定所述第二网页代码与所述第一网页代码一致;
当所述第一网页代码与对应的所述第二网页代码不相同时,确定所述第二网页代码与所述第一网页代码不一致。
6.如权利要求5所述的方法,其特征在于,在控制多线程将所述第一网页代码与对应的所述第二网页代码进行一一比对的过程中,所述方法还包括:
当所述第一网页代码的第一行数代码与所述第二网页代码中对应所述第一行数的网页代码不同时,记录所述第一行数;
跳转指针指向所述第一网页代码的第二行数代码;
将所述第二行数代码与所述第二网页代码中对应所述第二行数的网页代码进行比对,直至所述指针指向第一网页代码的最后一行代码。
7.如权利要求1至6中任意一项所述的方法,其特征在于,在所述输出所述待检测网页的网页代码被篡改的信息之后,所述方法还包括:
提取所述被篡改的信息中的第一关键词;
判断所述第一关键词中是否存在预设的第二关键词,其中,所述第二关键词为数据库中预先存储的历史被篡改信息中的多次出现的关键词;
当所述第一关键词中存在所述第二关键词时,确定所述待检测网页为高频被篡改网页;
当所述第一关键词中不存在所述第二关键词时,确定所述待检测网页为首次被篡改网页。
8.一种页面篡改检测装置,其特征在于,所述装置包括:
导入模块,用于通过服务器导入待检测网站的源码;
提取模块,用于将所述源码按照网站结构进行分类,提取出所述待检测网站中每个网页的网页目录和第一网页代码;
拼接模块,用于将每个所述网页目录中的网页名与所述待检测网站的域名进行拼接,得到多个待检测网页的链接;
爬取模块,用于预设周期内爬取每个所述链接指向的网页的第二网页代码;
比对模块,用于比对所述第二网页代码中是否存在白名单函数代码;
所述比对模块,还用于当所述第一判断模块确定所述第二网页代码中不存在所述白名单函数代码时,比对所述第二网页代码与所述第一网页代码是否一致;
输出模块,用于当所述比对确定所述第二网页代码与所述第一网页代码不一致时,输出所述待检测网页的网页代码被篡改的信息。
9.一种终端,其特征在于,所述终端包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述页面篡改检测方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述页面篡改检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911312864.6A CN111199040B (zh) | 2019-12-18 | 2019-12-18 | 页面篡改检测方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911312864.6A CN111199040B (zh) | 2019-12-18 | 2019-12-18 | 页面篡改检测方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111199040A true CN111199040A (zh) | 2020-05-26 |
CN111199040B CN111199040B (zh) | 2023-09-12 |
Family
ID=70746951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911312864.6A Active CN111199040B (zh) | 2019-12-18 | 2019-12-18 | 页面篡改检测方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111199040B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436564A (zh) * | 2011-12-30 | 2012-05-02 | 奇智软件(北京)有限公司 | 一种识别被篡改网页的方法及装置 |
CN102571791A (zh) * | 2011-12-31 | 2012-07-11 | 奇智软件(北京)有限公司 | 一种分析网页内容是否被篡改的方法及系统 |
CN103279710A (zh) * | 2013-04-12 | 2013-09-04 | 深圳市易聆科信息技术有限公司 | Internet信息系统恶意代码的检测方法和系统 |
CN103389983A (zh) * | 2012-05-08 | 2013-11-13 | 阿里巴巴集团控股有限公司 | 一种用于网络爬虫系统的网页内容抓取方法及装置 |
CN107301355A (zh) * | 2017-06-20 | 2017-10-27 | 深信服科技股份有限公司 | 一种网页篡改监测方法及装置 |
CN107832622A (zh) * | 2017-12-08 | 2018-03-23 | 平安科技(深圳)有限公司 | 漏洞检测方法、装置、计算机设备及存储介质 |
CN108804498A (zh) * | 2018-04-03 | 2018-11-13 | 微梦创科网络科技(中国)有限公司 | 一种基于网页对比的网页篡改监控方法及系统 |
-
2019
- 2019-12-18 CN CN201911312864.6A patent/CN111199040B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436564A (zh) * | 2011-12-30 | 2012-05-02 | 奇智软件(北京)有限公司 | 一种识别被篡改网页的方法及装置 |
CN102571791A (zh) * | 2011-12-31 | 2012-07-11 | 奇智软件(北京)有限公司 | 一种分析网页内容是否被篡改的方法及系统 |
CN103389983A (zh) * | 2012-05-08 | 2013-11-13 | 阿里巴巴集团控股有限公司 | 一种用于网络爬虫系统的网页内容抓取方法及装置 |
CN103279710A (zh) * | 2013-04-12 | 2013-09-04 | 深圳市易聆科信息技术有限公司 | Internet信息系统恶意代码的检测方法和系统 |
CN107301355A (zh) * | 2017-06-20 | 2017-10-27 | 深信服科技股份有限公司 | 一种网页篡改监测方法及装置 |
CN107832622A (zh) * | 2017-12-08 | 2018-03-23 | 平安科技(深圳)有限公司 | 漏洞检测方法、装置、计算机设备及存储介质 |
CN108804498A (zh) * | 2018-04-03 | 2018-11-13 | 微梦创科网络科技(中国)有限公司 | 一种基于网页对比的网页篡改监控方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111199040B (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8370799B2 (en) | Provision of code base modification using automatic learning of code changes | |
CN113780691A (zh) | 数据测试方法、装置、电子设备及存储介质 | |
CN112463530A (zh) | 微服务系统的异常检测方法、装置、电子设备及存储介质 | |
CN113434542B (zh) | 数据关系识别方法、装置、电子设备及存储介质 | |
CN113886204A (zh) | 用户行为数据收集方法、装置、电子设备及可读存储介质 | |
CN113268478A (zh) | 大数据分析方法、装置、电子设备及存储介质 | |
CN112948275A (zh) | 测试数据生成方法、装置、设备及存储介质 | |
CN111199040B (zh) | 页面篡改检测方法、装置、终端及存储介质 | |
CN109460234B (zh) | 应用程序瘦身方法、装置、终端及存储介质 | |
CN113065055B (zh) | 新闻资讯抓取方法、装置、电子设备及存储介质 | |
CN114896164A (zh) | 接口优化方法、装置、电子设备及存储介质 | |
CN114925674A (zh) | 文件合规性检查方法、装置、电子设备及存储介质 | |
CN114816371A (zh) | 消息处理方法、装置、设备及介质 | |
CN114936111A (zh) | 前端变量异常检测及修复方法、装置、设备及存储介质 | |
CN114239538A (zh) | 断言处理方法、装置、计算机设备及存储介质 | |
CN109165442B (zh) | 一种设计规则处理方法、智能终端及存储介质 | |
CN114328267A (zh) | 基于人工智能的大数据测试方法、装置、电子设备及介质 | |
CN113254728B (zh) | 任务信息展示方法、装置、电子设备及存储介质 | |
JP6890795B1 (ja) | プログラム、方法、情報処理装置、及びシステム | |
CN114689975B (zh) | 基于谐波电流的产品测试方法、装置、设备及存储介质 | |
CN116541309B (zh) | 基于交易系统转换的测试方法、装置、设备及介质 | |
CN115190016B (zh) | 系统通用开关配置方法、装置、设备及存储介质 | |
CN114637564B (zh) | 数据可视化方法、装置、电子设备及存储介质 | |
CN115328812B (zh) | 基于网络爬虫的ui界面测试方法、装置、设备及介质 | |
Grünwaldt | Digital Twin for DevOps: Data-Driven Continuous Monitoring of DevOps Systems and Teams |
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 |