CN107612926A - 一种基于客户端识别的一句话WebShell拦截方法 - Google Patents
一种基于客户端识别的一句话WebShell拦截方法 Download PDFInfo
- Publication number
- CN107612926A CN107612926A CN201710948543.XA CN201710948543A CN107612926A CN 107612926 A CN107612926 A CN 107612926A CN 201710948543 A CN201710948543 A CN 201710948543A CN 107612926 A CN107612926 A CN 107612926A
- Authority
- CN
- China
- Prior art keywords
- server
- values
- cookie
- request
- client
- 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
Landscapes
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于客户端识别的一句话WebShell拦截方法,包括以下步骤:步骤1:服务器接收到HTTP请求后,检测Cookie中是否有AccessToken值,如没有则转入步骤2;如有,则检测其是否与Session中的AccessToken值一致,如一致则放行,如不一致则忽略该请求;步骤2:服务器检查客户端是否传递了指定Cookie,如否则进行验证,如有则检测Cookie值是否合法;如合法则忽略本次请求,如合法则转入步骤3;步骤3:对比HTTP请求中的Referer值,如Referer值不等于当前访问的URL则忽略本次请求,如Referer值等于当前URL则转入步骤4;步骤4:服务器生成一个随机字符串作为AccessToken存入Session中,将AccessTtoken设置为网站Cookie,访问成功;本发明匹配精准度高,且不影响正常用户使用,可极大的减少漏报率和误报率。
Description
技术领域
本发明涉及一种WebShell拦截方法,具体涉及一种基于客户端识别的一句话WebShell拦截方法。
背景技术
在网站渗透过程中,攻击者通常会留下网站后门便于今后使用;其中一句话木马(即一句话WebShell)由于短小强悍而经常被使用;这些后门的功能通常是执行用户传递过来的恶意代码,因此后门本身的代码非常简短,因此俗称一句话木马;由于这些后门必须有用户传递攻击代码后才能真正执行攻击动作,所以就有了一句话后门的客户端;这些客户端通常已经自带了攻击代码,使用者只需要填入后门地址和密码就可以进行攻击操作;但是这些客户端通常是以软件的形式存在,并不具有执行javascript代码的能力;现有的WebShell访问拦截基本上是通过收集网络上公开的WebShell特征进行匹配或者检测一些敏感函数来进行拦截;这种方法基于特征匹配容易出现大量误报,并且WebShell特征随时变换,特征库不能完全包含所有的特征,容易出现遗漏。
发明内容
本发明提供一种匹配精准度高,且不影响正常用户使用,可极大的减少漏报率和误报率的基于客户端识别的一句话WebShell拦截方法。
本发明采用的技术方案是:一种基于客户端识别的一句话WebShell拦截方法,包括以下步骤:
步骤1:服务器接收到HTTP请求后,检测Cookie中是否有AccessToken值,如没有则转入步骤2;如有,则检测其是否与Session中的AccessToken值一致,如一致则放行,如不一致则忽略该请求;
步骤2:服务器检查客户端是否传递了指定Cookie,如否则进行验证,如有则检测Cookie值是否与服务器中Session里存储的加密值一致;如不一致则忽略本次请求,如一致则转入步骤3;
步骤3:对比HTTP请求中的Referer值,如Referer值不等于当前访问的URL则忽略本次请求,如Referer值等于当前URL则转入步骤4;
步骤4:服务器生成一个随机字符串作为AccessToken存入Session中,将AccessTtoken设置为网站Cookie,访问成功。
进一步的,所述步骤2中的验证过程如下:
S1:在HTML页面中获取用户浏览器指纹信息,然后将其传递到服务器;
S2:服务器在接收到客户端传递来的浏览器指纹信息,取出HTTP请求中的IP地址以及一个预先设置在服务器中的密钥Key进行加密,将加密后生成的值存入Session中并返回该值给客户端页面;
S3:客户端页面在接收到服务器返回的值后将其设置为网站Cookie’,并再次访问当前URL。
进一步的,所述步骤S2中对密钥Key进行MD5加密,加密公式为:Client_ID+IP+Key;其中Client_ID为浏览器指纹信息,IP为HTTP请求中的IP地址。
进一步的,所述步骤S1中获取用户浏览器指纹信息通过Canvas标签获取。
进一步的,所述步骤S1中将浏览器指纹信息传递到服务器通过javascript代码异步传递。
本发明的有益效果是:
(1)本发明通过检测客户端是否为正常浏览器来拦截掉一句话后门客户端的访问请求,匹配精准度高;
(2)本发明不影响正常用户使用,可极大的减少漏报率和误报率。
附图说明
图1为本发明流程示意图。
图2为本发明中验证过程示意图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步说明。
如图1所示,一种基于客户端识别的一句话WebShell拦截方法,包括以下步骤:
步骤1:服务器接收到HTTP请求后,检测Cookie中是否有AccessToken值,如没有则转入步骤2;如有,则检测其是否与Session中的AccessToken值一致,如一致则放行,如不一致则忽略该请求;
步骤2:服务器检查客户端是否传递了指定Cookie,如没有传递指定Cookie,则返回下述验证页面进行验证,如传递了Cookie则检测Cookie值是否与服务器中Session里存储的加密值一致;如不一致则忽略本次请求,如一致则转入步骤3;
步骤3:对比HTTP请求中的Referer值,如Referer值不等于当前访问的URL则忽略本次请求,如Referer值等于当前URL则转入步骤4;
步骤4:服务器生成一个随机字符串作为AccessToken存入Session中,将AccessTtoken设置为网站Cookie,访问成功;此后客户端每次访问只需要带上AccessTtoken即可访问网站。
进一步的,所述步骤2中的验证过程如下:
S1:在HTML页面中获取用户浏览器指纹信息(Client_ID),然后实用javascript代码异步传递指纹信息到服务器;
S2:服务器在接收到客户端传递来的浏览器指纹信息(Client_ID)后,取出HTTP请求中的IP地址以及一个预先设置在服务器中的密钥Key进行MD5加密,将生成的MD5值存入Session中并返回该MD5值给客户端页面;加密公式为:md5(Client_ID+IP+Key);这个加密值在服务器中的Session里存储了一份,另外给客户端传递了一份,用于设置为网站Cookie;
S3:客户端页面在接收到服务器返回的MD5值后将其设置为网站Cookie,并再次访问当前URL;其中(Cookie名称可随意设置,下文中以“指定Cookie”代替)。
本发明基于一句话WebShell客户端没有执行JavaScript代码能力的特性,并配合网站Cookie以及HTTP referer检测来识别异常的访问请求;通过技术手段在用户访问网站时对其使用的客户端进行检测,如果用户使用的是浏览器则认为访问是正常的,如果用户使用的不是浏览器则此次访问则是由其它程序发起的,因此有别于正常用户的访问;本发明通过检测客户端是否为正常浏览器来拦截掉一句话后门客户端的访问请求,匹配精准度高,且不影响正常用户使用,可极大的减少漏报率和误报率。
文中:一句话WebShell指一种很多短小的网站后门程序,需要使用特定客户端进行连接;Cookie指网站为了辨别用户身份进行Session跟踪而储存在用户本地终端上的数据;JavaScript指一种脚本程序语言,多使用于网站前端页面,由浏览器执行;Referer指HTTP header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器是从哪个页面链接过来的,服务器基于此可以获得一些信息用于处理;Canvas是一种html5标签,可以通过它来获取浏览器指纹信息;AccessToken是Windows操作***安全性的一个概念。一个访问令牌包含了此登陆会话的安全信息。当用户登陆时,***创建一个访问令牌,然后以该用户身份运行的的所有进程都拥有该令牌的一个拷贝;Session指在计算机中,尤其是在网络应用中,称为“会话控制”;HTTP指超文本传输协议;URL指统一资源定位符;HTML指超文本标记语言。
Claims (5)
1.一种基于客户端识别的一句话WebShell拦截方法,其特征在于,包括以下步骤:
步骤1:服务器接收到HTTP请求后,检测Cookie中是否有AccessToken值,如没有则转入步骤2;如有,则检测其是否与Session中的AccessToken值一致,如一致则放行,如不一致则忽略该请求;
步骤2:服务器检查客户端是否传递了指定Cookie,如否则进行验证,如有则检测Cookie值是否与服务器中Session里存储的加密值一致;如不一致则忽略本次请求,如一致则转入步骤3;
步骤3:对比HTTP请求中的Referer值,如Referer值不等于当前访问的URL则忽略本次请求,如Referer值等于当前URL则转入步骤4;
步骤4:服务器生成一个随机字符串作为AccessToken存入Session中,将AccessTtoken设置为网站Cookie,访问成功。
2.根据权利要求1所述的一种基于客户端识别的一句话WebShell拦截方法,其特征在于,所述步骤2中的验证过程如下:
S1:在HTML页面中获取用户浏览器指纹信息,然后将其传递到服务器;
S2:服务器在接收到客户端传递来的浏览器指纹信息,取出HTTP请求中的IP地址以及一个预先设置在服务器中的密钥Key进行加密,将加密后生成的值存入Session中并返回该值给客户端页面;
S3:客户端页面在接收到服务器返回的值后将其设置为网站Cookie,并再次访问当前URL。
3.根据权利要求2所述的一种基于客户端识别的一句话WebShell拦截方法,其特征在于,所述步骤S2中对密钥Key进行MD5加密,加密公式为:Client_ID+IP+Key;其中Client_ID为浏览器指纹信息,IP为HTTP请求中的IP地址。
4.根据权利要求2所述的一种基于客户端识别的一句话WebShell拦截方法,其特征在于,所述步骤S1中获取用户浏览器指纹信息通过Canvas标签获取。
5.根据权利要求2所述的一种基于客户端识别的一句话WebShell拦截方法,其特征在于,所述步骤S1中将浏览器指纹信息传递到服务器通过javascript代码异步传递。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710948543.XA CN107612926B (zh) | 2017-10-12 | 2017-10-12 | 一种基于客户端识别的一句话WebShell拦截方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710948543.XA CN107612926B (zh) | 2017-10-12 | 2017-10-12 | 一种基于客户端识别的一句话WebShell拦截方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107612926A true CN107612926A (zh) | 2018-01-19 |
CN107612926B CN107612926B (zh) | 2020-09-29 |
Family
ID=61068537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710948543.XA Active CN107612926B (zh) | 2017-10-12 | 2017-10-12 | 一种基于客户端识别的一句话WebShell拦截方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107612926B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108259619A (zh) * | 2018-01-30 | 2018-07-06 | 成都东软学院 | 网络请求防护方法及网络通信*** |
WO2020056857A1 (zh) * | 2018-09-19 | 2020-03-26 | 网宿科技股份有限公司 | 一种异常访问行为的识别方法及服务器 |
CN112668005A (zh) * | 2020-12-30 | 2021-04-16 | 北京天融信网络安全技术有限公司 | webshell文件的检测方法及装置 |
CN112800427A (zh) * | 2021-04-08 | 2021-05-14 | 北京邮电大学 | webshell检测方法、装置、电子设备和存储介质 |
CN113746784A (zh) * | 2020-05-29 | 2021-12-03 | 深信服科技股份有限公司 | 一种数据检测方法、***及相关设备 |
CN114073040A (zh) * | 2019-08-05 | 2022-02-18 | 万事达卡国际公司 | 安全服务器客户端交互 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888490A (zh) * | 2012-12-20 | 2014-06-25 | 上海天泰网络技术有限公司 | 一种全自动的web客户端人机识别的方法 |
CN103944900A (zh) * | 2014-04-18 | 2014-07-23 | 中国科学院计算技术研究所 | 一种基于加密的跨站请求攻击防范方法及其装置 |
CN105471833A (zh) * | 2015-05-14 | 2016-04-06 | 瑞数信息技术(上海)有限公司 | 一种安全通讯方法和装置 |
CN106650437A (zh) * | 2016-12-29 | 2017-05-10 | 广州华多网络科技有限公司 | webshell检测方法和装置 |
-
2017
- 2017-10-12 CN CN201710948543.XA patent/CN107612926B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888490A (zh) * | 2012-12-20 | 2014-06-25 | 上海天泰网络技术有限公司 | 一种全自动的web客户端人机识别的方法 |
CN103944900A (zh) * | 2014-04-18 | 2014-07-23 | 中国科学院计算技术研究所 | 一种基于加密的跨站请求攻击防范方法及其装置 |
CN105471833A (zh) * | 2015-05-14 | 2016-04-06 | 瑞数信息技术(上海)有限公司 | 一种安全通讯方法和装置 |
CN106650437A (zh) * | 2016-12-29 | 2017-05-10 | 广州华多网络科技有限公司 | webshell检测方法和装置 |
Non-Patent Citations (1)
Title |
---|
中国通信学会学术工作委员会: "《第十届中国通信学会学术年会论文集》", 31 December 2015 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108259619A (zh) * | 2018-01-30 | 2018-07-06 | 成都东软学院 | 网络请求防护方法及网络通信*** |
CN108259619B (zh) * | 2018-01-30 | 2021-08-24 | 成都东软学院 | 网络请求防护方法及网络通信*** |
WO2020056857A1 (zh) * | 2018-09-19 | 2020-03-26 | 网宿科技股份有限公司 | 一种异常访问行为的识别方法及服务器 |
CN114073040A (zh) * | 2019-08-05 | 2022-02-18 | 万事达卡国际公司 | 安全服务器客户端交互 |
CN114073040B (zh) * | 2019-08-05 | 2023-12-05 | 万事达卡国际公司 | 用于安全服务器客户端交互的方法、计算设备、以及服务器 |
CN113746784A (zh) * | 2020-05-29 | 2021-12-03 | 深信服科技股份有限公司 | 一种数据检测方法、***及相关设备 |
CN113746784B (zh) * | 2020-05-29 | 2023-04-07 | 深信服科技股份有限公司 | 一种数据检测方法、***及相关设备 |
CN112668005A (zh) * | 2020-12-30 | 2021-04-16 | 北京天融信网络安全技术有限公司 | webshell文件的检测方法及装置 |
CN112800427A (zh) * | 2021-04-08 | 2021-05-14 | 北京邮电大学 | webshell检测方法、装置、电子设备和存储介质 |
CN112800427B (zh) * | 2021-04-08 | 2021-09-28 | 北京邮电大学 | webshell检测方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107612926B (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107612926A (zh) | 一种基于客户端识别的一句话WebShell拦截方法 | |
US10984095B2 (en) | Methods and apparatus to manage password security | |
CN110881044B (zh) | 一种计算机防火墙动态防御安全平台 | |
CN101350797B (zh) | 简化用户操作的网站登录方法、***、客户端和服务器 | |
US7673135B2 (en) | Request authentication token | |
US8112799B1 (en) | Method, system, and computer program product for avoiding cross-site scripting attacks | |
US11451583B2 (en) | System and method to detect and block bot traffic | |
CN107634967B (zh) | 一种CSRF攻击的CSRFToken防御***和方法 | |
US20130055386A1 (en) | Apparatus and method for preventing falsification of client screen | |
EP1934742A2 (en) | Apparatus and method for analyzing and supplementing a program to provide security | |
CN105635064B (zh) | Csrf攻击检测方法及装置 | |
CN103139138A (zh) | 一种基于客户端检测的应用层拒绝服务防护方法及*** | |
CN114616795B (zh) | 用于防止重试或重放攻击的安全机制 | |
CN102073822A (zh) | 防止用户信息泄漏的方法及*** | |
CN109194671A (zh) | 一种异常访问行为的识别方法及服务器 | |
CN111881337B (zh) | 一种基于Scrapy框架的数据采集方法、***及存储介质 | |
US8910281B1 (en) | Identifying malware sources using phishing kit templates | |
CN108322420B (zh) | 后门文件的检测方法和装置 | |
CN108028843A (zh) | 被动式web应用防火墙 | |
CN113572793B (zh) | 访问请求捕获方法、装置、计算机设备和存储介质 | |
US10657234B2 (en) | Method, computer program, and system to realize and guard over a secure input routine based on their behavior | |
CN111193708A (zh) | 一种基于企业浏览器实现的扫码登录方法和装置 | |
EP4068125B1 (en) | Method of monitoring and protecting access to an online service | |
Jaswal et al. | Detection and Prevention of Phishing Attacks on Banking Website | |
Srivastava et al. | Security and Scalability of E-Commerce Website by OWASP threats. |
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, Block C, No. 28 Tianfu Avenue North Section, Chengdu High tech Zone, China (Sichuan) Pilot Free Trade Zone, Chengdu City, Sichuan Province, 610000 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 |