CN111324894A - 一种基于web应用安全的XSS漏洞检测方法及系统 - Google Patents
一种基于web应用安全的XSS漏洞检测方法及系统 Download PDFInfo
- Publication number
- CN111324894A CN111324894A CN202010132972.1A CN202010132972A CN111324894A CN 111324894 A CN111324894 A CN 111324894A CN 202010132972 A CN202010132972 A CN 202010132972A CN 111324894 A CN111324894 A CN 111324894A
- Authority
- CN
- China
- Prior art keywords
- request
- web application
- malicious code
- xss
- request information
- 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.)
- Withdrawn
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 15
- 238000012360 testing method Methods 0.000 claims abstract description 11
- 238000004088 simulation Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 9
- 230000010365 information processing Effects 0.000 claims description 8
- 238000013515 script Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009395 breeding Methods 0.000 description 1
- 230000001488 breeding effect Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
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
-
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种基于web应用安全的XSS漏洞检测方法及系统,方法包括:遍历web应用所有输入端的请求,将请求中的特定信息用对应的示例字符串表示;获取并保存输入端请求所包含的请求信息;加载恶意代码库,存储恶意代码;根据请求信息,将恶意代码替换对应的所述示例字符串,对输入端请求进行模拟攻击,遍历恶意代码库中的恶意代码,根据返回信息判断是否为XSS攻击漏洞。本发明对于输入端的每个请求,用恶意代码替换所述示例字符串,遍历恶意代码库中所有的恶意代码,进行模拟攻击测试,判断是否存在XSS安全漏洞,提高了检测的自动化城区和输入端检测的覆盖率,保证系统安全。
Description
技术领域
本发明涉及计算机漏洞检测技术领域,尤其是一种基于web应用安全的XSS漏洞检测方法及系统。
背景技术
Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户可以很方便地访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件。应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助IE等浏览器来运行。WEB应用程序一般是B/S模式。Web应用程序首先是“应用程序”,和用标准的程序语言,如C、C++等编写出来的程序没有本质上的不同。然而Web应用程序又有自己独特的地方,就是它是基于Web的,而不是采用传统方法运行的。换句话说,它是典型的浏览器/服务器架构的产物。
XSS(Cross Site Scripting,跨站脚本攻击)是指攻击者在页面中注入恶意的脚本代码,当受害者访问一个没有对输入端做脚本过滤的页面时,会将攻击者设计的恶意代码发送至Web后端,此时浏览器会认为这段恶意代码是网页源码的一部分并在其浏览器上执行,从而导致恶意攻击。需要强调的是,XSS不仅仅限于JavaScript,还包括PHP、flash等其它脚本语言。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。攻击者可以使用户在浏览器中执行其预定义的恶意脚本,其导致的危害可想而知,如劫持用户会话,插入恶意内容、重定向用户、使用恶意软件劫持用户浏览器、繁殖XSS蠕虫,甚至破坏网站、修改路由器配置信息等。随着大数据、云计算和人工智能技术的发展,各大互联网企业研发的Web应用经过不断的升级更新,具备了越来越智能化的用户交互界面。然而这一特点在提高用户端体验的同时,随之而来的便是XSS漏洞的攻击风险。因为智能化的用户交互界面,一定包含了复杂的用户输入端,任何一个输入端如果没有进行XSS输入过滤检验,就会给黑客以可乘之机,并给互联网企业和用户造成不可估量的损失。
传统的XSS漏洞检测工具大都对于输入端检测的覆盖率低,很多情况下对于安全渗透测试人员而言仅供参考,不能完全排除被测Web应用存在XSS漏洞的风险。
发明内容
本发明提供了基于web应用安全的XSS漏洞检测方法及系统,用于解决现有XXS漏洞检测对输入端检测的覆盖率低的问题。
为实现上述目的,本发明采用下述技术方案:
本发明第一方面提供了一种基于web应用安全的XSS漏洞检测方法,所述方法包括以下步骤:
遍历web应用所有输入端的请求,将所述请求中的特定信息用对应的示例字符串进行表示;
获取并保存输入端请求所包含的请求信息;
加载恶意代码库,存储恶意代码;
根据所述请求信息,将所述恶意代码替换对应的所述示例字符串,对输入端请求进行模拟攻击,遍历恶意代码库中的恶意代码,根据返回信息判断是否为XSS攻击漏洞。
进一步地,所述方法在保存请求信息后,还包括步骤:
读取所述请求信息,将所述请求信息转换为列表的格式,所述列表中包含多个字典,每个字典对应被测web应用某次请求对应的请求信息。
进一步地,所述字典内包含键值对,其中key为输入端请求的字段,value为所述字段对应的内容。
进一步地,所述请求信息包括请求URL、请求方式、请求头和请求体。
进一步地,若所述返回信息中存在告警框,则判定当前请求对应的输入框存在XSS攻击漏洞。
本发明第二方面提供了一种基于web应用安全的XSS漏洞检测系统,所述系统包括:
信息处理单元,用于遍历web应用所有输入端的请求,将所述请求中的特定信息用对应的示例字符串进行表示;
请求处理单元,用于获取并保存输入端请求所包含的请求信息;
恶意代码处理单元,用于加载恶意代码库,存储恶意代码;
模拟测试单元,根据所述请求信息,将所述恶意代码替换对应的所述示例字符串,对输入端请求进行模拟攻击,遍历恶意代码库中的恶意代码,根据返回信息判断是否为XSS攻击漏洞。
进一步地,所述系统还包括请求信息处理单元,用于读取所述请求信息,将所述请求信息转换为列表的格式,所述列表中包含多个字典,每个字典对应被测web应用某次请求对应的请求信息。
进一步地,所述模拟测试单元包括结果显示模块,所述结果显示模块用于显示告警框。
本发明第二方面的所述基于web应用安全的XSS漏洞检测系统能够实现第一方面及第一方面的各实现方式中的方法,并取得相同的效果。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
1、本发明通过对web输入端的请求信息进行分析,对应每个请求信息中的特定信息用示例字符串表示,对于输入端的每个请求,用恶意代码替换所述示例字符串,遍历恶意代码库中所有的恶意代码,进行模拟攻击测试,判断是否存在XSS安全漏洞,提高了检测的自动化城区和输入端检测的覆盖率,保证系统安全。
2、对于获取的请求信息,通过列表的形式进行存储,且列表中包含多个字典,该字典中包含了输入端请求对应的请求信息,便于对输入端请求的规范管理,便于模拟检测的顺利进行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明所述方法实施例1的流程示意图;
图2是本发明所述方法实施例2的流程示意图;
图3是本发明所述系统的结构示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
如图1所示,本发明基于web应用安全的XSS漏洞检测方法,包括以下步骤:
S1,遍历web应用所有输入端的请求,将所述请求中的特定信息用对应的示例字符串进行表示;
S2,获取并保存输入端请求所包含的请求信息;
S3,加载恶意代码库,存储恶意代码;
S4,根据所述请求信息,将所述恶意代码替换对应的所述示例字符串,对输入端请求进行模拟攻击,遍历恶意代码库中的恶意代码,根据返回信息判断是否为XSS攻击漏洞。
步骤S1中,设计一个页面自动化脚本,能够以超级管理员的身份遍历被测Web应用的所有输入端。由于Web前端会对某些输入框进行前端输入格式校验,例如邮箱类型的输入框中,规定必须符合“xxx@xx.com”的格式,IP地址类型的输入框必须符合“x.x.x.x”的格式,密码必须按照被测Web应用规定字符串的长度和是否包含特殊字符进行设置。我们将上述被校验的输入框称为特定信息,对于不同类型的输入框,我们输入不同类型的示例字符串,如下所示:
邮箱:12345@1.com
IP地址:1.1.1.1
其他:12345678
设置密码:123456a?
这里针对不同的输入框类型规定统一的示例字符串,是因为后面我们替换恶意代码时,可以很方便地匹配到上述的示例字符串并替换。
步骤S2中,通过抓包工具获取输入端请求包含的请求信息,请求信息包括请求URL、请求方式、请求头和请求体。
步骤S3中,将恶意代码以列表的形式存放在脚本中,便于后续的循环遍历。
步骤S4中,设计一个基于计算机语言的自动化脚本,导入第三步中读取的被测Web应用输入端发送的请求信息和第四步中的云端恶意代码库,通过计算机语法中的循环语句,循环存放恶意代码的列表,替换第一步中的示例输入测试用的字符串。
例如,我们检测IP地址的输入框是否存在XSS攻击风险,发送的请求示例如下:
dict_search_ip={
“url”:“https://1.1.1.1/inspur/api/hypervisor?pagesize=10&isDetail=true&name=1.1.1.1&chipType=”,
“method”:“get”,
“headers”:{“Host”:“1.1.1.1”,
“content-Lenth”:48}
}
由第一步可知,我们针对IP地址输入框时,一律将示例字符串定为“1.1.1.1”,这样一来我们可以很方便地将上述请求包中的“1.1.1.1”替换为恶意代码,并依次遍历云端恶意代码库中的所有恶意代码,示例如下:
dict_search_ip={
“url”:“https://1.1.1.1/inspur/api/hypervisor?pagesize=10&isDetail=true&name=<script>alert(123456)</script>&chipType=”,
“method”:“get”,
“headers”:{“Host”:“1.1.1.1”,
“content-Lenth”:48}
}
其中下划线表示的内容为替换部分,将输入端字符串替换后,每发送一个输入端请求(模拟一次XSS攻击),自动刷新一次浏览器页面,检测页面中是否存在告警框,如果存在告警框并且告警框中的提示信息与我们恶意脚本中的信息相符(本发明中的示例告警信息为:123456),则证明该请求所对应的输入框存在XSS攻击漏洞。
如图2所示,在保存请求信息后,上述方法还包括步骤:
S23,读取所述请求信息,将所述请求信息转换为列表的格式,所述列表中包含多个字典,每个字典对应被测web应用某次请求对应的请求信息。
读取第二步中抓取的请求信息,并转换为列表的格式;该列表包含多个字典其中每个字典对应被测Web应用中每一次发送输入端请求所对应的HTTP请求信息,包含请求URL、请求方式、请求头、请求体四个字段。
列表由一系列元素组成,其中的元素之间可以没有任何关系。列表是最常用的数据类型,我们可以将若干数据项放入中括号内,不同的数据项以逗号分开。列表的数据项不需要具有相同的类型,甚至数据项本身也可以是一个列表。例如:Requests_list=[dict_search_user,dict_search_role,dict_search_ip]。
字典是一种可变容器模型,元素的集合,且可存储任意类型对象。包含“键(key)”与“值(value)”两个部分。“键”是元素的索引,计算机通过“键”来访问“值”,也就是元素。例如请求信息包含请求URL、请求方式、请求头、请求体四个字段,这四个字段就是字典的“键”,四个字段下的具体内容就是字典的“值”。例如:
如图3所示,本发明基于web应用安全的XSS漏洞检测系统,所述系统包括信息处理单元1、请求处理单元2、恶意代码处理单元3、模拟测试单元4和请求信息处理单元5。
信息处理单元1用于遍历web应用所有输入端的请求,将所述请求中的特定信息用对应的示例字符串进行表示;请求处理单元2用于获取并保存输入端请求所包含的请求信息;恶意代码处理单元3用于加载恶意代码库,存储恶意代码;模拟测试单元4根据所述请求信息,将所述恶意代码替换对应的所述示例字符串,对输入端请求进行模拟攻击,遍历恶意代码库中的恶意代码,根据返回信息判断是否为XSS攻击漏洞。请求信息处理单元5用于读取所述请求信息,将所述请求信息转换为列表的格式,所述列表中包含多个字典,每个字典对应被测web应用某次请求对应的请求信息。
模拟测试单元4包括结果显示模块41,结果显示模块41用于显示告警框。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (8)
1.一种基于web应用安全的XSS漏洞检测方法,其特征是,所述方法包括以下步骤:
遍历web应用所有输入端的请求,将所述请求中的特定信息用对应的示例字符串进行表示;
获取并保存输入端请求所包含的请求信息;
加载恶意代码库,存储恶意代码;
根据所述请求信息,将所述恶意代码替换对应的所述示例字符串,对输入端请求进行模拟攻击,遍历恶意代码库中的恶意代码,根据返回信息判断是否为XSS攻击漏洞。
2.根据权利要求1所述基于web应用安全的XSS漏洞检测方法,其特征是,所述方法在保存请求信息后,还包括步骤:
读取所述请求信息,将所述请求信息转换为列表的格式,所述列表中包含多个字典,每个字典对应被测web应用某次请求对应的请求信息。
3.根据权利要求2所述基于web应用安全的XSS漏洞检测方法,其特征是,所述字典内包含键值对,其中key为输入端请求的字段,value为所述字段对应的内容。
4.根据权利要求1或2所述基于web应用安全的XSS漏洞检测方法,其特征是,所述请求信息包括请求URL、请求方式、请求头和请求体。
5.根据权利要求1或2所述基于web应用安全的XSS漏洞检测方法,其特征是,若所述返回信息中存在告警框,则判定当前请求对应的输入框存在XSS攻击漏洞。
6.一种基于web应用安全的XSS漏洞检测系统,其特征是,所述系统包括:
信息处理单元,用于遍历web应用所有输入端的请求,将所述请求中的特定信息用对应的示例字符串进行表示;
请求处理单元,用于获取并保存输入端请求所包含的请求信息;
恶意代码处理单元,用于加载恶意代码库,存储恶意代码;
模拟测试单元,根据所述请求信息,将所述恶意代码替换对应的所述示例字符串,对输入端请求进行模拟攻击,遍历恶意代码库中的恶意代码,根据返回信息判断是否为XSS攻击漏洞。
7.根据权利要求6所述基于web应用安全的XSS漏洞检测系统,其特征是,所述系统还包括请求信息处理单元,用于读取所述请求信息,将所述请求信息转换为列表的格式,所述列表中包含多个字典,每个字典对应被测web应用某次请求对应的请求信息。
8.根据权利要求6或7所述基于web应用安全的XSS漏洞检测系统,其特征是,所述模拟测试单元包括结果显示模块,所述结果显示模块用于显示告警框。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010132972.1A CN111324894A (zh) | 2020-02-29 | 2020-02-29 | 一种基于web应用安全的XSS漏洞检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010132972.1A CN111324894A (zh) | 2020-02-29 | 2020-02-29 | 一种基于web应用安全的XSS漏洞检测方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111324894A true CN111324894A (zh) | 2020-06-23 |
Family
ID=71172969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010132972.1A Withdrawn CN111324894A (zh) | 2020-02-29 | 2020-02-29 | 一种基于web应用安全的XSS漏洞检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111324894A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182583A (zh) * | 2020-09-27 | 2021-01-05 | 国网山东省电力公司电力科学研究院 | 一种基于web应用的文件上传漏洞检测方法及系统 |
CN113612745A (zh) * | 2021-07-23 | 2021-11-05 | 苏州浪潮智能科技有限公司 | 一种漏洞检测方法、系统、设备以及介质 |
CN114124476A (zh) * | 2021-11-05 | 2022-03-01 | 苏州浪潮智能科技有限公司 | 一种Web应用的敏感信息泄露漏洞检测方法、系统及装置 |
-
2020
- 2020-02-29 CN CN202010132972.1A patent/CN111324894A/zh not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182583A (zh) * | 2020-09-27 | 2021-01-05 | 国网山东省电力公司电力科学研究院 | 一种基于web应用的文件上传漏洞检测方法及系统 |
CN113612745A (zh) * | 2021-07-23 | 2021-11-05 | 苏州浪潮智能科技有限公司 | 一种漏洞检测方法、系统、设备以及介质 |
CN114124476A (zh) * | 2021-11-05 | 2022-03-01 | 苏州浪潮智能科技有限公司 | 一种Web应用的敏感信息泄露漏洞检测方法、系统及装置 |
CN114124476B (zh) * | 2021-11-05 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 一种Web应用的敏感信息泄露漏洞检测方法、系统及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10567407B2 (en) | Method and system for detecting malicious web addresses | |
US10243679B2 (en) | Vulnerability detection | |
US11722514B1 (en) | Dynamic vulnerability correlation | |
US10855696B2 (en) | Variable runtime transpilation | |
US10454969B2 (en) | Automatic generation of low-interaction honeypots | |
US8943588B1 (en) | Detecting unauthorized websites | |
Pan et al. | Cspautogen: Black-box enforcement of content security policy upon real-world websites | |
CN109376291B (zh) | 一种基于网络爬虫的网站指纹信息扫描的方法及装置 | |
US20150033331A1 (en) | System and method for webpage analysis | |
CN110266661B (zh) | 一种授权方法、装置及设备 | |
CN111324894A (zh) | 一种基于web应用安全的XSS漏洞检测方法及系统 | |
CN111552854A (zh) | 一种网页数据抓取方法、装置、存储介质和设备 | |
US20190297092A1 (en) | Access classification device, access classification method, and recording medium | |
JP6708794B2 (ja) | 判定装置、判定方法、および、判定プログラム | |
US10250632B2 (en) | Web service testing | |
US11570196B2 (en) | Method for determining duplication of security vulnerability and analysis apparatus using same | |
CN106599270B (zh) | 网络数据抓取方法和爬虫 | |
US20170097740A1 (en) | System and method for adding functionality to web-based applications having no extensibility features | |
US11558414B1 (en) | Autonomous penetration tester | |
CN113032655A (zh) | 一种暗网电子数据提取固定方法 | |
CN112637361A (zh) | 一种页面代理方法、装置、电子设备及存储介质 | |
US9923916B1 (en) | Adaptive web application vulnerability scanner | |
CN107786529B (zh) | 网站的检测方法、装置及系统 | |
CN116361793A (zh) | 代码检测方法、装置、电子设备及存储介质 | |
US11568054B2 (en) | Web application login macro generation and verification |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200623 |