CN112039877A - 基于kld的存储型xss注入的检测方法 - Google Patents
基于kld的存储型xss注入的检测方法 Download PDFInfo
- Publication number
- CN112039877A CN112039877A CN202010886265.1A CN202010886265A CN112039877A CN 112039877 A CN112039877 A CN 112039877A CN 202010886265 A CN202010886265 A CN 202010886265A CN 112039877 A CN112039877 A CN 112039877A
- Authority
- CN
- China
- Prior art keywords
- web page
- javascript
- code
- xss
- codes
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability 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/906—Clustering; Classification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及WAF防火墙领域,具体为一种基于KLD的存储型XSS注入的检测方法,能够减少服务器受到的干扰,提高服务器运行的稳定性。方案为,判断响应Web页面是否属于首次登陆,若是则捕获响应Web页面的所有内容,并且确保该页面内不含XSS代码,对Web页面所有内容中的Javascript代码进行分类统计,得到所有Javascript代码类正常频率分布特征集合P(x),将P(x)集合按照{url:[p(x)]}格式存放在内存中,url为Web页面地址;若不是首次登陆,捕获响应Web页面的所有内容,对响应Web页面所有内容中的Javascript代码进行分类统计,得到所有Javascript代码类频率分布特征集合Q(x),根据响应Web页面的地址从内存中获取对应的Javascript代码类正常频率特征集合P(x),根据计算散度值,根据散度值与阈值大小确定是否有XSS注入。适用于XSS检测。
Description
技术领域
本发明涉及WAF(Web应用防护系统)防火墙领域,具体涉及一种基于KLD的存储型XSS注入的检测方法。
背景技术
跨站脚本攻击(Cross-site-scripting,XSS)是一种危害严重的Web漏洞,其常年位居owasp Top10漏洞的前3名。其危害主要有盗取用户Cookie、会话劫持和网络钓鱼等。其中,存储型XSS攻击危害最以难检测。
当前针对存储型xss攻击检测技术主要基于爬虫技术和污点追踪技术,他们都是一种“主动性”探测技术,原理是首先用爬虫爬取web的url,然后向url发送带有xsspayload(污点数据)的请求,最后检测服务器响应的数据中是否含有先前发送的xsspayload,该技术虽然能检测出存储型xss注入,但是爬虫会干扰服务器的正常运行,同时探测数据也会污染服务端业务数据库。因此,有必要改进现有技术或者开发新的解决方案,不使用爬虫,也不向服务器发送污点数据,达到检测存储型xss的目的。
发明内容
本发明的目的是提供一种基于KLD的存储型XSS注入的检测方法,不再使用爬虫技术,不再通过向url发送带有xss payload(污点数据)的请求,减少了服务器受到的干扰,提高了服务器运行的稳定性,避免了服务端业务数据库受到污染。
本发明采取如下技术方案实现上述目的,基于KLD的存储型XSS注入的检测方法,包括以下步骤:
步骤(1)、判断响应Web页面是否属于首次登陆,若是则捕获响应Web页面的所有内容,并且确保该页面内不含XSS代码,进入步骤(2);否则,进入步骤(4);
步骤(2)、对Web页面所有内容中的Javascript代码进行分类统计,得到所有Javascript代码类正常频率分布特征集合P(x);
步骤(3)、将P(x)集合按照{url:[p(x)]}格式存放在内存中,url为Web页面地址,结束本次流程,下次登陆时进入步骤(1);
步骤(4)、捕获响应Web页面的所有内容,对响应Web页面所有内容中的Javascript代码进行分类统计,得到所有Javascript代码类当前频率分布特征集合Q(x);
步骤(5)、根据响应Web页面的地址从内存中获取对应Web页面的Javascript代码类正常频率特征集合P(x);
步骤(7)、判断D与KL散度阈值T的大小,若D>T,则触发拦截。
进一步的是,在步骤(1)中,所述确保该页面内不含XSS代码的方式包括:人工与软件结合的方法确保该页面内不含XSS代码。
进一步的是,在步骤(2)中,得到所有Javascript代码类正常频率分布特征集合P(x)包括:统计每一类Javascript代码出现的次数,并计算出每一类Javascript代码出现频率,使用一个集合P(x)存放每一类Javascript代码出现的频率。
进一步的是,所述在统计每一类Javascript代码出现的次数时,若同一个页面发生多次请求,则对同一类Javascript代码统计的次数求平均值。
进一步的是,在步骤(2)中,所述对Web页面所有内容中的Javascript代码进行分类包括:将Javascript代码根据其位置属性分为内联代码、url属性代码、css属性代码、以及各种事件代码。
进一步的是,基于KLD的存储型XSS注入的检测方法还包括:改变阈值T的值,对触发拦截的条件进行优化调节。
本发明基于KLD的存储型XSS注入的检测方法,受限判断响应Web页面是否属于首次登陆,若是则捕获响应Web页面的所有内容,并且确保该页面内不含XSS代码;对Web页面所有内容中的Javascript代码进行分类统计,得到所有Javascript代码类正常频率分布特征集合P(x);将P(x)集合按照{url:[p(x)]}格式存放在内存中,url为Web页面地址,本次登陆结束;即将首次登陆排除XSS代码Web页面的所有Javascript代码类正常频率分布特征集合P(x)存储到内存中,下次登陆时,若不是首次登陆,则捕获响应Web页面的所有内容,对响应Web页面所有内容中的Javascript代码进行分类统计,得到所有Javascript代码类频率分布特征集合Q(x);根据响应Web页面的地址从内存中获取对应的Web页面Javascript代码类正常频率特征集合P(x);计算P(x)与Q(x)的KLD散度值D,n≤P(x)集合中数据的数量;若D>T,则触发拦截。不再使用爬虫技术,不再通过向url发送带有xss payload(污点数据)的请求,减少了服务器受到的干扰,提高了服务器运行的稳定性,避免了服务端业务数据库受到污染。
附图说明
图1是本发明基于KLD的存储型XSS注入的检测方法的方法流程图。
具体实施方式
本发明基于KLD的存储型XSS注入的检测方法,其方法流程图如图1,包括以下步骤:
步骤101:判断响应Web页面是否属于首次登陆,若是则进入步骤102,否则进入步骤105;
步骤102:捕获响应Web页面的所有内容,并且确保该页面内不含XSS代码;
步骤103:对Web页面所有内容中的Javascript代码进行分类统计,得到所有Javascript代码类正常频率分布特征集合P(x);
步骤104:将P(x)集合按照{url:[p(x)]}格式存放在内存中,url为Web页面地址,结束本次流程,下次登陆时进入步骤101;
步骤105:捕获响应Web页面的所有内容;
步骤106:对响应Web页面所有内容中的Javascript代码进行分类统计,得到所有Javascript代码类当前频率分布特征集合Q(x);
步骤107:根据响应Web页面的地址从内存中获取对应的Javascript代码类正常频率特征集合P(x);
步骤108:计算P(x)与Q(x)的KL散度值D,判断D与KL散度阈值T的大小,若D>T,则触发拦截。;
步骤102中,确保该页面内不含XSS代码的具体方式包括:人工与软件结合的方法确保该页面内不含XSS代码。
步骤103中,得到所有Javascript代码类正常频率分布特征集合P(x)的具体实施方式包括:统计每一类Javascript代码出现的次数,并计算出每一类Javascript代码出现频率,使用一个集合P(x)存放每一类Javascript代码出现的频率。
其中在统计每一类Javascript代码出现的次数时,若同一个页面发生多次请求,则对同一类Javascript代码统计的次数求平均值。
步骤103中,对Web页面所有内容中的Javascript代码进行分类包括:将Javascript代码根据其位置属性分为内联代码、url属性代码、css属性代码、以及各种事件代码,更多分类可以参考Javascript代码分类表。
步骤108中,计算P(x)与Q(x)的KL散度值D的具体公式包括:n≤P(x)集合中数据的数量;其中原理为,KLD又称相对熵,互熵,鉴别信息,设P(x)和Q(x)是x取值的两个概率分布,则P对Q的相对熵为:在一定程度上,KL散度可以度量两个概率分布P和Q的距离,当两个概率分布相同时,KL散度为0,当两个概率分布的差别增大时,他们的KL散度也会随之增大。
基于KLD的存储型XSS注入的检测方法还包括:改变阈值T的值,对触发拦截的条件进行优化调节,使得既能识别XSS攻击,又可以减少误拦截、误报。
本发明的一种实施例为,在waf(Web应用防护系统)上应用本方法,通过waf的机制捕获所有的web页面内容。将test.changhong.com加入到waf防护的站点里面,用户通过浏览器首次访问test.changhong.com,waf捕获test.changhong.com页面内容,并且确认该页面内不含XSS代码,对test.changhong.com页面所有内容中的Javascript代码按照Javascript代码分类表进行分类统计,得到所有Javascript代码类正常频率分布特征集合P(x),将P(x)集合按照{url:[p(x)]}格式存放在内存中,比如“test.changhong.com”:[0.1,0.2,0.3,0.4,0.6,0,0,0,0,0.8];当通过浏览器再次访问test.changhong.com页面时,waf捕获test.changhong.com页面内容,对test.changhong.com页面所有内容中的Javascript代码按照Javascript代码分类表进行分类统计,得到所有Javascript代码类频率分布特征集合Q(x),根据test.changhong.com地址从内存中获取对应的Javascript代码类正常频率特征集合P(x),利用公式计算出P(x)与Q(x)的KL散度值D,若D>T,则触发拦截,T为KL散度阈值。
综上所述,本发明不再使用爬虫技术,不再通过向url发送带有xss payload(污点数据)的请求,减少了服务器受到的干扰,提高了服务器运行的稳定性,避免了服务端业务数据库受到污染。
Javascript代码分类表
Claims (6)
1.基于KLD的存储型XSS注入的检测方法,其特征在于,包括:
步骤(1)、判断响应Web页面是否属于首次登陆,若是则捕获响应Web页面的所有内容,并且确保该页面内不含XSS代码,进入步骤(2);否则,进入步骤(4);
步骤(2)、对Web页面所有内容中的Javascript代码进行分类统计,得到所有Javascript代码类正常频率分布特征集合P(x);
步骤(3)、将P(x)集合按照{url:[p(x)]}格式存放在内存中,url为Web页面地址,结束本次流程,下次登陆时进入步骤(1);
步骤(4)、捕获响应Web页面的所有内容,对响应Web页面所有内容中的Javascript代码进行分类统计,得到所有Javascript代码类当前频率分布特征集合Q(x);
步骤(5)、根据响应Web页面的地址从内存中获取对应Web页面的Javascript代码类正常频率特征集合P(x);
步骤(7)、判断D与KL散度阈值T的大小,若D>T,则触发拦截。
2.根据权利要求1所述的基于KLD的存储型XSS注入的检测方法,其特征在于,在步骤(1)中,所述确保该页面内不含XSS代码的方式包括:人工与软件结合的方法确保该页面内不含XSS代码。
3.根据权利要求1所述的基于KLD的存储型XSS注入的检测方法,其特征在于,在步骤(2)中,得到所有Javascript代码类正常频率分布特征集合P(x)包括:统计每一类Javascript代码出现的次数,并计算出每一类Javascript代码出现频率,使用一个集合P(x)存放每一类Javascript代码出现的频率。
4.根据权利要求3所述的基于KLD的存储型XSS注入的检测方法,其特征在于,所述在统计每一类Javascript代码出现的次数时,若同一个页面发生多次请求,则对同一类Javascript代码统计的次数求平均值。
5.根据权利要求1所述的基于KLD的存储型XSS注入的检测方法,其特征在于,在步骤(2)中,所述对Web页面所有内容中的Javascript代码进行分类包括:将Javascript代码根据其位置属性分为内联代码、url属性代码、css属性代码、以及各种事件代码。
6.根据权利要求1所述的基于KLD的存储型XSS注入的检测方法,其特征在于,还包括:改变阈值T的值,对触发拦截的条件进行优化调节。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010886265.1A CN112039877B (zh) | 2020-08-28 | 2020-08-28 | 基于kld的存储型xss注入的检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010886265.1A CN112039877B (zh) | 2020-08-28 | 2020-08-28 | 基于kld的存储型xss注入的检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112039877A true CN112039877A (zh) | 2020-12-04 |
CN112039877B CN112039877B (zh) | 2022-04-01 |
Family
ID=73587620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010886265.1A Active CN112039877B (zh) | 2020-08-28 | 2020-08-28 | 基于kld的存储型xss注入的检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112039877B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459548A (zh) * | 2007-12-14 | 2009-06-17 | 北京启明星辰信息技术股份有限公司 | 一种脚本注入攻击检测方法和系统 |
CN101645884A (zh) * | 2009-08-26 | 2010-02-10 | 西安理工大学 | 基于相对熵理论的多测度网络异常检测方法 |
CN101901221A (zh) * | 2009-05-27 | 2010-12-01 | 北京启明星辰信息技术股份有限公司 | 一种跨站脚本攻击的检测方法和装置 |
CN103150374A (zh) * | 2013-03-11 | 2013-06-12 | 中国科学院信息工程研究所 | 一种识别微博异常用户的方法和系统 |
CN103441982A (zh) * | 2013-06-24 | 2013-12-11 | 杭州师范大学 | 一种基于相对熵的入侵报警分析方法 |
CN103685189A (zh) * | 2012-09-17 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 网站安全评估方法及系统 |
CN108282440A (zh) * | 2017-01-05 | 2018-07-13 | 阿里巴巴集团控股有限公司 | 一种安全检测方法、安全检测装置及服务器 |
CN109766693A (zh) * | 2018-12-11 | 2019-05-17 | 四川大学 | 一种基于深度学习的跨站脚本攻击检测方法 |
WO2019144039A1 (en) * | 2018-01-18 | 2019-07-25 | Risksense, Inc. | Complex application attack quantification, testing, detection and prevention |
-
2020
- 2020-08-28 CN CN202010886265.1A patent/CN112039877B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459548A (zh) * | 2007-12-14 | 2009-06-17 | 北京启明星辰信息技术股份有限公司 | 一种脚本注入攻击检测方法和系统 |
CN101901221A (zh) * | 2009-05-27 | 2010-12-01 | 北京启明星辰信息技术股份有限公司 | 一种跨站脚本攻击的检测方法和装置 |
CN101645884A (zh) * | 2009-08-26 | 2010-02-10 | 西安理工大学 | 基于相对熵理论的多测度网络异常检测方法 |
CN103685189A (zh) * | 2012-09-17 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 网站安全评估方法及系统 |
CN103150374A (zh) * | 2013-03-11 | 2013-06-12 | 中国科学院信息工程研究所 | 一种识别微博异常用户的方法和系统 |
CN103441982A (zh) * | 2013-06-24 | 2013-12-11 | 杭州师范大学 | 一种基于相对熵的入侵报警分析方法 |
CN108282440A (zh) * | 2017-01-05 | 2018-07-13 | 阿里巴巴集团控股有限公司 | 一种安全检测方法、安全检测装置及服务器 |
WO2019144039A1 (en) * | 2018-01-18 | 2019-07-25 | Risksense, Inc. | Complex application attack quantification, testing, detection and prevention |
CN109766693A (zh) * | 2018-12-11 | 2019-05-17 | 四川大学 | 一种基于深度学习的跨站脚本攻击检测方法 |
Non-Patent Citations (1)
Title |
---|
张亚玲: "基于相对熵理论的多测度网络异常检测方法", 《计算机应用》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112039877B (zh) | 2022-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105930727B (zh) | 基于Web的爬虫识别方法 | |
CN109951500B (zh) | 网络攻击检测方法及装置 | |
CN107888571B (zh) | 一种基于HTTP日志的多维度webshell入侵检测方法及检测系统 | |
CN103929440B (zh) | 基于web服务器缓存匹配的网页防篡改装置及其方法 | |
CN104113519B (zh) | 网络攻击检测方法及其装置 | |
KR101239401B1 (ko) | 보안 시스템의 로그 분석 시스템 및 방법 | |
CN103139138B (zh) | 一种基于客户端检测的应用层拒绝服务防护方法及系统 | |
CN107786545A (zh) | 一种网络攻击行为检测方法及终端设备 | |
CN103179132A (zh) | 一种检测和防御cc攻击的方法及装置 | |
CN104519018A (zh) | 一种防止针对服务器的恶意请求的方法、装置和系统 | |
CN106295349A (zh) | 账号被盗的风险识别方法、识别装置及防控系统 | |
CN102281298A (zh) | 检测和防御cc攻击的方法及装置 | |
CN111641658A (zh) | 一种请求拦截方法、装置、设备及可读存储介质 | |
CN106790105A (zh) | 基于业务数据的爬虫识别拦截方法及系统 | |
CN109257393A (zh) | 基于机器学习的xss攻击防御方法及装置 | |
CN108023868B (zh) | 恶意资源地址检测方法和装置 | |
CN110798488B (zh) | Web应用攻击检测方法 | |
CN114244564B (zh) | 攻击防御方法、装置、设备及可读存储介质 | |
CN107426136B (zh) | 一种网络攻击的识别方法和装置 | |
CN102891861B (zh) | 一种基于客户端的钓鱼网站检测方法及其装置 | |
CN112668005A (zh) | webshell文件的检测方法及装置 | |
CN101888296B (zh) | 一种影子用户检测方法、装置、设备和系统 | |
CN111786990B (zh) | 一种针对web主动推送跳转页面的防御方法和系统 | |
CN112039877B (zh) | 基于kld的存储型xss注入的检测方法 | |
CN109190408B (zh) | 一种数据信息的安全处理方法及系统 |
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 |