描述
这种类型的攻击是一种跨站点脚本(XSS)恶意脚本在哪里“反映”从一个脆弱的web应用程序,然后执行一个受害者的浏览器。这个过程开始于敌人向受害者提供恶意脚本,并说服受害者发送脆弱的web应用程序的脚本。
扩展描述
最常见的方法是通过一个网络钓鱼邮件对手嵌入恶意脚本的URL,然后单击受害者。在处理后续请求,脆弱的web应用程序错误地认为恶意脚本作为有效的输入,并使用它来创建一个reposnse,然后发送回的受害者。启动一个成功的反映XSS攻击,敌人查找用户输入的地方直接用于生成响应。这通常涉及元素不会主机脚本如图像标记(< img >),或添加事件attibutes onload和onmouseover等。这些元素往往不受相同的输入验证、输出编码,和其他内容过滤和检查例程。
攻击的可能性
典型的严重性
的关系
此表显示了其他的攻击模式和高水平类别相关的这种攻击模式。这些关系被定义为ChildOf ParentOf,给类似的项目可能存在的洞察力在较高和较低的抽象级别。此外,关系如光束,PeerOf, CanAlsoBe定义显示类似的攻击模式,用户可能想要探索。
自然 |
类型 |
ID |
的名字 |
ChildOf |
标准的攻击模式-一个标准的级别CAPEC中攻击模式是集中在一个特定的方法或技术用于攻击。它通常被视为一个单一的完全执行攻击。标准的攻击模式是为了提供足够的细节来理解特定的技术,以及它如何试图完成预期的目标。标准水平的攻击模式是一种特定类型的一个更抽象的元级别的攻击模式。 |
63年 |
跨站点脚本(XSS) |
ParentOf |
详细的攻击模式-一个详细级别攻击模式CAPEC提供了一个低水平的细节,通常利用一个特定的技术和针对特定的技术,并表达一个完整的执行流程。详细的攻击模式比元更具体的攻击模式和标准的攻击模式,通常需要一个特定的保护机制来减轻实际攻击。详细的级别攻击模式通常会利用许多不同的标准水平攻击模式链接在一起来完成一个目标。 |
18 |
XSS攻击Non-Script元素 |
ParentOf |
详细的攻击模式-一个详细级别攻击模式CAPEC提供了一个低水平的细节,通常利用一个特定的技术和针对特定的技术,并表达一个完整的执行流程。详细的攻击模式比元更具体的攻击模式和标准的攻击模式,通常需要一个特定的保护机制来减轻实际攻击。详细的级别攻击模式通常会利用许多不同的标准水平攻击模式链接在一起来完成一个目标。 |
32 |
XSS通过HTTP查询字符串 |
ParentOf |
详细的攻击模式-一个详细级别攻击模式CAPEC提供了一个低水平的细节,通常利用一个特定的技术和针对特定的技术,并表达一个完整的执行流程。详细的攻击模式比元更具体的攻击模式和标准的攻击模式,通常需要一个特定的保护机制来减轻实际攻击。详细的级别攻击模式通常会利用许多不同的标准水平攻击模式链接在一起来完成一个目标。 |
86年 |
XSS通过HTTP标头 |
ParentOf |
详细的攻击模式-一个详细级别攻击模式CAPEC提供了一个低水平的细节,通常利用一个特定的技术和针对特定的技术,并表达一个完整的执行流程。详细的攻击模式比元更具体的攻击模式和标准的攻击模式,通常需要一个特定的保护机制来减轻实际攻击。详细的级别攻击模式通常会利用许多不同的标准水平攻击模式链接在一起来完成一个目标。 |
198年 |
XSS攻击的错误页面 |
ParentOf |
详细的攻击模式-一个详细级别攻击模式CAPEC提供了一个低水平的细节,通常利用一个特定的技术和针对特定的技术,并表达一个完整的执行流程。详细的攻击模式比元更具体的攻击模式和标准的攻击模式,通常需要一个特定的保护机制来减轻实际攻击。详细的级别攻击模式通常会利用许多不同的标准水平攻击模式链接在一起来完成一个目标。 |
199年 |
XSS使用替代语法 |
ParentOf |
详细的攻击模式-一个详细级别攻击模式CAPEC提供了一个低水平的细节,通常利用一个特定的技术和针对特定的技术,并表达一个完整的执行流程。详细的攻击模式比元更具体的攻击模式和标准的攻击模式,通常需要一个特定的保护机制来减轻实际攻击。详细的级别攻击模式通常会利用许多不同的标准水平攻击模式链接在一起来完成一个目标。 |
243年 |
XSS攻击的HTML属性 |
ParentOf |
详细的攻击模式-一个详细级别攻击模式CAPEC提供了一个低水平的细节,通常利用一个特定的技术和针对特定的技术,并表达一个完整的执行流程。详细的攻击模式比元更具体的攻击模式和标准的攻击模式,通常需要一个特定的保护机制来减轻实际攻击。详细的级别攻击模式通常会利用许多不同的标准水平攻击模式链接在一起来完成一个目标。 |
244年 |
XSS目标URI占位符 |
ParentOf |
详细的攻击模式-一个详细级别攻击模式CAPEC提供了一个低水平的细节,通常利用一个特定的技术和针对特定的技术,并表达一个完整的执行流程。详细的攻击模式比元更具体的攻击模式和标准的攻击模式,通常需要一个特定的保护机制来减轻实际攻击。详细的级别攻击模式通常会利用许多不同的标准水平攻击模式链接在一起来完成一个目标。 |
245年 |
XSS使用字符翻了一番 |
ParentOf |
详细的攻击模式-一个详细级别攻击模式CAPEC提供了一个低水平的细节,通常利用一个特定的技术和针对特定的技术,并表达一个完整的执行流程。详细的攻击模式比元更具体的攻击模式和标准的攻击模式,通常需要一个特定的保护机制来减轻实际攻击。详细的级别攻击模式通常会利用许多不同的标准水平攻击模式链接在一起来完成一个目标。 |
247年 |
XSS使用无效字符 |
此表显示了这种攻击模式的观点属于和顶级类别内的这一观点。
执行流程
探索
调查申请用户可控的输入:使用浏览器或一个自动化工具,敌人之前所有公共和行动在一个网站的链接。他们记录所有的链接、表单、资源访问web应用程序和所有其他可能的切入点之一。
技术 |
使用搜索工具跟踪和记录所有的链接和分析网页找到入口点。特别注意任何链接,包括参数的URL。 |
使用一个代理工具来记录所有的链接访问web应用程序的手册中遍历。 |
网站使用浏览器手动探索和分析它是如何构建的。许多浏览器的插件可以促进分析或自动发现。 |
实验
探针识别潜在入口点反映了XSS漏洞:对手使用入口点聚集在“探索”阶段作为目标列表和注入各种常见脚本有效载荷和特殊字符来确定一个入口点实际上代表一个脆弱和描述在多大程度上可以利用的漏洞。
技术 |
使用XSS探针字符串列表注入脚本参数已知的url。如果可能的话,探测器字符串包含一个惟一的标识符。 |
使用一个代理工具记录结果XSS探针的手工输入url。 |
使用特殊字符的列表的HTML注入参数已知的url并检查如果他们正确编码,取代或过滤掉。 |
工艺恶意XSS URL:一旦对手确定哪些参数是容易受到XSS,他们将工艺包含XSS攻击的恶意URL。敌人可以有许多目标,从窃取会话id,饼干,凭据和页面内容的受害者。
技术 |
改变一个URL参数包含恶意脚本标签。 |
从恶意脚本收集的信息发送到远程端点。 |
利用
让受害者点击网址:为了成功的攻击,受害者需要访问恶意URL。
技术 |
网络钓鱼电子邮件发送到包含恶意URL的受害者。这可以隐藏在一个超链接不显示完整的URL,这可能会引起怀疑。 |
把恶意URL放在一个公共论坛,很多受害者可能会意外地点击链接。 |
先决条件
一个应用程序,该应用程序使用一个客户端web浏览器启用了脚本。 |
一个应用程序,该应用程序未能充分清洁或编码不可信的输入。 |
技能要求
(级别:中等) 需要编写的恶意脚本的能力和将它们嵌入到HTTP请求。 |
所需资源
后果
这个表指定不同的个体与攻击模式相关的后果。范围确定违反了安全属性,而影响了负面的技术影响,如果敌人成功的攻击。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能有高可能性模式将被用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密 |
读取数据 |
|
保密
授权
访问控制 |
获得特权 |
|
保密
完整性
可用性 |
执行未经授权的命令 |
|
完整性 |
修改数据 |
|
缓解措施
使用浏览器技术,不允许客户端脚本。 |
利用严格的类型、字符和编码执行。 |
在使用前确保所有用户提供的输入验证。 |
例子,实例
考虑这样一个web应用程序,启用或禁用某些字段的表单页面上通过使用模式在查询字符串参数提供。
http://my.site.com/aform.html?mode=full 应用程序的服务器端代码可能需要显示该模式创建HTML页面的价值给用户的理解模式。在这个例子中,使用PHP将价值从URL并生成所需的HTML。
< ? php 回声的模式是:‘。$ _GET[“模式”); ? > 注意在URL上提供的价值是直接使用没有输入验证执行,没有输出编码。一个恶意的URL可以形成这样的,如果一个受害者点击URL,恶意脚本就会被执行在受害者的浏览器:
http://my.site.com/aform.html?mode= <脚本> alert('嗨');> < /脚本 |
反映XSS攻击可以利用HTTP头妥协一个受害者。例如,假设一个脆弱的web应用程序称为“mysite”动态生成一个链接HTTP_REFERER等使用HTTP头。代码在应用程序可能看起来像:
< ? php echo " < a href = " $ _SERVER (“HTTP_REFERER”) " > < / >测试URL” ? > HTTP_REFERER头填充的URI与当前执行的页面。可以创建一个网站,由敌人利用这个web应用程序通过添加一个引用脆弱。通过诱使受害者点击执行攻击者的web页面的链接,如:
“http://attackerswebsite.com?" 脆弱的web应用程序(mysite)现在被称为通过攻击者的网站,由受害者的web浏览器。HTTP_REFERER头将包含恶意脚本,这是由脆弱的应用程序和嵌入到页面的受害者。受害者的web浏览器执行注入脚本,从而损害受害者的机器。 |
引用
内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2017-04-15
(版本2.9) |
CAPEC内容团队 |
manbetx客户端首页 |
|
修改 |
修改日期 |
修饰符 |
组织 |
2017-08-04
(版本2.11) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Resources_Required |
2019-04-04
(版本3.1) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Weaknesses |
2019-09-30
(版本3.2) |
CAPEC内容团队 |
manbetx客户端首页 |
更新描述,Example_Instances |
2020-12-17
(版本3.4) |
CAPEC内容团队 |
manbetx客户端首页 |
更新的引用 |
2022-02-22
(版本3.7) |
CAPEC内容团队 |
manbetx客户端首页 |
更新描述、Execution_Flow Extended_Description |
2022-09-29
(版本3.8) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Example_Instances |
|