CN111355728B - 一种恶意爬虫防护方法 - Google Patents

一种恶意爬虫防护方法 Download PDF

Info

Publication number
CN111355728B
CN111355728B CN202010126172.9A CN202010126172A CN111355728B CN 111355728 B CN111355728 B CN 111355728B CN 202010126172 A CN202010126172 A CN 202010126172A CN 111355728 B CN111355728 B CN 111355728B
Authority
CN
China
Prior art keywords
cookie
message
malicious crawler
http message
http
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
Application number
CN202010126172.9A
Other languages
English (en)
Other versions
CN111355728A (zh
Inventor
张辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unicloud Technology Co Ltd
Original Assignee
Unicloud Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Unicloud Technology Co Ltd filed Critical Unicloud Technology Co Ltd
Priority to CN202010126172.9A priority Critical patent/CN111355728B/zh
Publication of CN111355728A publication Critical patent/CN111355728A/zh
Application granted granted Critical
Publication of CN111355728B publication Critical patent/CN111355728B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种恶意爬虫防护方法,S1.防护***检测第一个http报文;S2.判断是否存在恶意爬虫行为,若存在进行拦截;S3.查看中是否存在cookieD1,存在则拦截;S4.判断访问的url是否存在暗链,存在则进行步骤S5,否则到步骤S6;S5.在响应包中对客户端进行set cookie,同时将http报文中的访问域名和源IP加入动态黑名单中,并拦截。本发明所述的恶意爬虫行为拦截准确率更高,防护效果更好,更不容易被绕过,安全性更高。

Description

一种恶意爬虫防护方法
技术领域
本发明属于防爬虫技术领域,尤其是涉及一种恶意爬虫防护方法。
背景技术
针对反爬虫的现有技术,主要有以下两种:
1、检验数据头中User-Agent:网站可以通过User-Agent来判断用户是使用什么浏览器访问。不同浏览器的User-Agent是不一样的。但是如果我们使用Python的Requests直接访问网站,网站收到的User-Agent是空。这个时候网站就知道我们不是使用浏览器访问的,于是它就可以拒绝我们的访问。
该技术方案的弊端:当前攻击者已经可以模仿真人行为,来模拟 user-agent,从而绕过上述反爬虫技术;
2、访问频率限制:如果你访问太快了,网站就会认为你不是一个人,于是它就可以拒绝你的访问。
该技术方案的弊端:访问频率的阈值很难界定,如果阈值设置不适合网站的客户现状的话,有可能会误拦截正常客户对于网站的访问。
发明内容
有鉴于此,本发明旨在提出一种恶意爬虫防护方法,以解决。
为达到上述目的,本发明的技术方案是这样实现的:
一种恶意爬虫防护方法,包括以下步骤:
S1.客户端与防护网站建立连接后,防护***检测第一个http报文;
S2.判断http报文是否存在恶意爬虫行为,若存在恶意爬虫行为进行拦截,否则进行下一步;
S3.查看http报文中是否存在cookieD1,如果存在,则认为存在恶意爬虫行为,进行拦截,否则进行下一步;
S4.判断http报文访问的url是否存在防护***预设的暗链,如果存在该暗链的访问行为,则进行步骤S5,否则跳转到步骤S6;
S5.判定该请求存在恶意爬虫行为,然后在响应包中对客户端进行set cookie,同时将这个http报文中的访问域名和源IP加入动态黑名单中,并拦截该http请求报文;
S6.判断请求http报文的URL中是否存在robots.txt,如果存在则进行步骤S7,否则跳转到步骤S10;
S7.判断请求报文中是否存在cookieD2,存在的话进行步骤S8,否则跳转到步骤S9;
S8.判断http请求报文的请求访问是否是GET或者HEAD,是的话跳转到步骤S10,否则判定存在修改操作网站robots.txt文件行为,认为存在恶意爬虫行为,直接拦截;
S9.在响应报文中对客户端进行set cookie;
S10.在响应报文的body中加入防护***指定的禁爬路径。
进一步的,所述步骤S2中的判断http报文是否存在恶意爬虫行为的判断方法为:查看http报文的访问域名以及报文源IP是否存在动态黑名单中,如果在IP和域名的和名单中,则认为是恶意爬虫行为。
进一步的,所述步骤S5中的set cookie为cookieD1,所述cookeD1为url存在防护***预设的暗链的标记。
进一步的,所述步骤s4中的暗链为恶意爬虫行为的测试网页 /aaa/aaa.html。
进一步的,所述步骤S5中的动态黑名单中的表项为ip,域名对每个表项都有超时时间,为10min。
进一步的,所述步骤S9中的set cookie为cookiD2,所述cookiD2为http 报文中的请求访问的是不是GET或者HEAD的标记。
进一步的,所述禁爬路径为暗链陷阱/aaa/aaa.html。
相对于现有技术,本发明所述的一种恶意爬虫防护方法具有以下优势:
(1)本发明所述的恶意爬虫行为拦截准确率更高,防护效果更好。
(2)本发明所述的恶意爬虫防护方法更不容易被绕过,安全性更高。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的一种恶意爬虫防护方法流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
下面将参考附图并结合实施例来详细说明本发明。
一种恶意爬虫防护方法,包括以下步骤:
S1.客户端与防护网站建立连接后,防护***检测第一个http报文;
S2.判断http报文是否存在恶意爬虫行为,若存在恶意爬虫行为进行拦截,否则进行下一步;
S3.查看http报文中是否存在cookieD1,如果存在,则认为存在恶意爬虫行为,进行拦截,否则进行下一步;
S4.判断http报文访问的url是否存在防护***预设的暗链,如果存在该暗链的访问行为,则进行步骤S5,否则跳转到步骤S6;
S5.判定该请求存在恶意爬虫行为,然后在响应包中对客户端进行set cookie,同时将这个http报文中的访问域名和源IP加入动态黑名单中,并拦截该http请求报文;
S6.判断请求http报文的URL中是否存在robots.txt,如果存在则进行步骤S7,否则跳转到步骤S10;
S7.判断请求报文中是否存在cookieD2,存在的话进行步骤S8,否则跳转到步骤S9;
S8.判断http请求报文的请求访问是否是GET或者HEAD,是的话跳转到步骤S10,否则判定存在修改操作网站robots.txt文件行为,认为存在恶意爬虫行为,直接拦截;
S9.在响应报文中对客户端进行set cookie;
S10 .在响应报文的body中加入防护***指定的禁爬路径。
所述步骤S2中的判断http报文是否存在恶意爬虫行为的判断方法为:查看http报文的访问域名以及报文源IP是否存在动态黑名单中,如果在IP 和域名的和名单中,则认为是恶意爬虫行为。
所述步骤S5中的set cookie为cookieD1,所述cookeD1为url存在防护***预设的暗链的标记。
所述步骤s4中的暗链为恶意爬虫行为的测试网页/aaa/aaa.html。
所述步骤S5中的动态黑名单中的表项为ip,域名对每个表项都有超时时间,为10min。
所述步骤S9中的set cookie为cookiD2,所述cookiD2为http报文中的请求访问的是不是GET或者HEAD的标记。
所述禁爬路径为暗链陷阱/aaa/aaa.html。
实现方法过程如下:
本发明主要通过暗链检测、robot.txt访问过滤的方法来实现恶意爬虫行为的防护目的,防护***会将第一个http请求报文对应的响应报文中body 中加入指定的禁爬路径(暗链陷阱),比如/aaa/aaa.html。然后防护***会对后续的http请求报文进行监控,一旦有访问/aaa/aaa.html这个uri的行为,即判定该源ip存在恶意爬虫行为,因此作出拦截等响应措施。同时***也会对访问源站robots.txt文件的行为进行监控,如果客户端对于网站robots.txt 文件的访问报文为非GET、HEAD方法的http报文,即认为对方存在修改网站robots.txt文件等恶意行为,因此判定该源IP存在恶意爬虫行为,然后作出拦截等响应措施。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种恶意爬虫防护方法,其特征在于包括以下步骤:
S1.客户端与防护网站建立连接后,防护***检测第一个http报文;
S2.判断http报文是否存在恶意爬虫行为,若存在恶意爬虫行为进行拦截,否则进行下一步;
S3.查看http报文中是否存在cookieD1,如果存在,则认为存在恶意爬虫行为,进行拦截,否则进行下一步;
S4.判断http报文访问的url是否存在防护***预设的暗链,如果存在该暗链的访问行为,则进行步骤S5,否则跳转到步骤S6;
S5.判定该http报文存在恶意爬虫行为,然后在响应包中对客户端进行set cookie,同时将这个http报文中的访问域名和源IP加入动态黑名单中,并拦截该http报文;
S6.判断请求http报文的URL中是否存在robots.txt,如果存在则进行步骤S7,否则跳转到步骤S10;
S7.判断请求报文中是否存在cookieD2,存在的话进行步骤S8,否则跳转到步骤S9;
S8.判断http请求报文的请求访问是否是GET或者HEAD,是的话跳转到步骤S10,否则判定存在修改操作网站robots.txt文件行为,认为存在恶意爬虫行为,直接拦截;
S9.在响应报文中对客户端进行set cookie;
S10.在响应报文的body中加入防护***指定的禁爬路径,即暗链陷阱/aaa/aaa.html;
所述步骤S5中的动态黑名单中的表项为ip,域名对每个表项都有超时时间,为10min。
2.根据权利要求1所述的一种恶意爬虫防护方法,其特征在于:所述步骤S2中的判断http报文是否存在恶意爬虫行为的判断方法为:查看http报文的访问域名以及报文源IP是否存在动态黑名单中,如果在IP和域名的和名单中,则认为是恶意爬虫行为。
3.根据权利要求1所述的一种恶意爬虫防护方法,其特征在于:所述步骤S5中的setcookie为cookieD1,所述cookieD1为url存在防护***预设的暗链的标记。
4.根据权利要求1所述的一种恶意爬虫防护方法,其特征在于:所述步骤S4中的暗链为恶意爬虫行为的测试网页/aaa/aaa.html。
5.根据权利要求1所述的一种恶意爬虫防护方法,其特征在于:所述步骤S9中的setcookie为cookieD2,所述cookieD2为http报文中的请求访问的是不是GET或者HEAD的标记。
6.根据权利要求4所述的一种恶意爬虫防护方法,其特征在于:所述步骤S10中的禁爬路径为暗链陷阱/aaa/aaa.html。
CN202010126172.9A 2020-02-27 2020-02-27 一种恶意爬虫防护方法 Active CN111355728B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010126172.9A CN111355728B (zh) 2020-02-27 2020-02-27 一种恶意爬虫防护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010126172.9A CN111355728B (zh) 2020-02-27 2020-02-27 一种恶意爬虫防护方法

Publications (2)

Publication Number Publication Date
CN111355728A CN111355728A (zh) 2020-06-30
CN111355728B true CN111355728B (zh) 2023-01-03

Family

ID=71194222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010126172.9A Active CN111355728B (zh) 2020-02-27 2020-02-27 一种恶意爬虫防护方法

Country Status (1)

Country Link
CN (1) CN111355728B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102790700A (zh) * 2011-05-19 2012-11-21 北京启明星辰信息技术股份有限公司 一种识别网页爬虫的方法和装置
CN105871850A (zh) * 2016-04-05 2016-08-17 携程计算机技术(上海)有限公司 爬虫检测方法和***
CN106411868A (zh) * 2016-09-19 2017-02-15 成都知道创宇信息技术有限公司 一种自动识别web爬虫的方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101070184B1 (ko) * 2011-02-24 2011-10-07 주식회사 윈스테크넷 멀티스레드 사이트 크롤러를 이용한 악성코드 자동수집, 자동분석시스템과 보안장비 연동을 통한 악성코드접근차단시스템 및 방법
US9294502B1 (en) * 2013-12-06 2016-03-22 Radware, Ltd. Method and system for detection of malicious bots
US10182046B1 (en) * 2015-06-23 2019-01-15 Amazon Technologies, Inc. Detecting a network crawler
CN104766014B (zh) * 2015-04-30 2017-12-01 安一恒通(北京)科技有限公司 用于检测恶意网址的方法和***
WO2018066000A1 (en) * 2016-10-05 2018-04-12 Kaalbi Technologies Private Limited System and method to detect and block bot traffic
CN106657057B (zh) * 2016-12-20 2020-09-29 北京金堤科技有限公司 反爬虫***及方法
CN109714313A (zh) * 2018-11-20 2019-05-03 远江盛邦(北京)网络安全科技股份有限公司 防爬虫的方法
CN109474640B (zh) * 2018-12-29 2021-01-05 奇安信科技集团股份有限公司 恶意爬虫检测方法、装置、电子设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102790700A (zh) * 2011-05-19 2012-11-21 北京启明星辰信息技术股份有限公司 一种识别网页爬虫的方法和装置
CN105871850A (zh) * 2016-04-05 2016-08-17 携程计算机技术(上海)有限公司 爬虫检测方法和***
CN106411868A (zh) * 2016-09-19 2017-02-15 成都知道创宇信息技术有限公司 一种自动识别web爬虫的方法

Also Published As

Publication number Publication date
CN111355728A (zh) 2020-06-30

Similar Documents

Publication Publication Date Title
CN105512559B (zh) 一种用于提供访问页面的方法与设备
EP2408166B1 (en) Filtering method, system and network device therefor
CN109951500A (zh) 网络攻击检测方法及装置
CN109274637B (zh) 确定分布式拒绝服务攻击的***和方法
US20150319191A1 (en) Anti-phishing domain advisor and method thereof
US7743420B2 (en) Dynamic learning method and adaptive normal behavior profile (NBP) architecture for providing fast protection of enterprise applications
US20130312081A1 (en) Malicious code blocking system
US20140373138A1 (en) Method and apparatus for preventing distributed denial of service attack
Bin et al. A DNS based anti-phishing approach
CN104301302A (zh) 越权攻击检测方法及装置
CN103179132A (zh) 一种检测和防御cc攻击的方法及装置
CN105939326A (zh) 处理报文的方法及装置
CN104348803A (zh) 链路劫持检测方法、装置、用户设备、分析服务器及***
CN105027510A (zh) 网络监视装置、网络监视方法以及网络监视程序
CN103067385A (zh) 防御会话劫持攻击的方法和防火墙
CN105430011A (zh) 一种检测分布式拒绝服务攻击的方法和装置
CN106657035B (zh) 一种网络报文传输方法及装置
Singh et al. Taxonomy of attacks on web based applications
Partala et al. Security threats against the transmission chain of a medical health monitoring system
CN109067768B (zh) 一种域名查询安全性的检测方法、***、设备和介质
CN113518077A (zh) 一种恶意网络爬虫检测方法、装置、设备及存储介质
CN110557358A (zh) 蜜罐服务器通信方法、SSLStrip中间人攻击感知方法及相关装置
CN105704120A (zh) 一种基于自学习形式的安全访问网络的方法
Hossain et al. Survey of the Protection Mechanisms to the SSL-based Session Hijacking Attacks.
KR101702102B1 (ko) 인터넷 연결 장치, 중앙 관리 서버 및 인터넷 연결 방법

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