描述
敌人利用一种跨站点脚本(XSS)恶意脚本在哪里坚持“存储”在一个脆弱的web应用程序的数据存储的有效输入。
扩展描述
最初由一个对手脆弱的web应用程序,恶意脚本错误被认为是有效的输入和不正确编码的web应用程序。然后说服受害者使用web应用程序的方式创建一个响应,包含恶意脚本。这种反应随后被发送到受害者和受害者的执行恶意脚本的浏览器。启动一个成功的存储XSS攻击,敌人寻找地方存储输入数据用于生成一个响应。这通常涉及元素不会主机脚本如图像标记(< img >),或添加如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提供了一个低水平的细节,通常利用一个特定的技术和针对特定的技术,并表达一个完整的执行流程。详细的攻击模式比元更具体的攻击模式和标准的攻击模式,通常需要一个特定的保护机制来减轻实际攻击。详细的级别攻击模式通常会利用许多不同的标准水平攻击模式链接在一起来完成一个目标。 |
209年 |
XSS使用MIME类型不匹配 |
ParentOf |
详细的攻击模式-一个详细级别攻击模式CAPEC提供了一个低水平的细节,通常利用一个特定的技术和针对特定的技术,并表达一个完整的执行流程。详细的攻击模式比元更具体的攻击模式和标准的攻击模式,通常需要一个特定的保护机制来减轻实际攻击。详细的级别攻击模式通常会利用许多不同的标准水平攻击模式链接在一起来完成一个目标。 |
243年 |
XSS攻击的HTML属性 |
ParentOf |
详细的攻击模式-一个详细级别攻击模式CAPEC提供了一个低水平的细节,通常利用一个特定的技术和针对特定的技术,并表达一个完整的执行流程。详细的攻击模式比元更具体的攻击模式和标准的攻击模式,通常需要一个特定的保护机制来减轻实际攻击。详细的级别攻击模式通常会利用许多不同的标准水平攻击模式链接在一起来完成一个目标。 |
244年 |
XSS目标URI占位符 |
ParentOf |
详细的攻击模式-一个详细级别攻击模式CAPEC提供了一个低水平的细节,通常利用一个特定的技术和针对特定的技术,并表达一个完整的执行流程。详细的攻击模式比元更具体的攻击模式和标准的攻击模式,通常需要一个特定的保护机制来减轻实际攻击。详细的级别攻击模式通常会利用许多不同的标准水平攻击模式链接在一起来完成一个目标。 |
245年 |
XSS使用字符翻了一番 |
ParentOf |
详细的攻击模式-一个详细级别攻击模式CAPEC提供了一个低水平的细节,通常利用一个特定的技术和针对特定的技术,并表达一个完整的执行流程。详细的攻击模式比元更具体的攻击模式和标准的攻击模式,通常需要一个特定的保护机制来减轻实际攻击。详细的级别攻击模式通常会利用许多不同的标准水平攻击模式链接在一起来完成一个目标。 |
247年 |
XSS使用无效字符 |
光束 |
标准的攻击模式-一个标准的级别CAPEC中攻击模式是集中在一个特定的方法或技术用于攻击。它通常被视为一个单一的完全执行攻击。标准的攻击模式是为了提供足够的细节来理解特定的技术,以及它如何试图完成预期的目标。标准水平的攻击模式是一种特定类型的一个更抽象的元级别的攻击模式。 |
73年 |
用户控制文件名 |
光束 |
详细的攻击模式-一个详细级别攻击模式CAPEC提供了一个低水平的细节,通常利用一个特定的技术和针对特定的技术,并表达一个完整的执行流程。详细的攻击模式比元更具体的攻击模式和标准的攻击模式,通常需要一个特定的保护机制来减轻实际攻击。详细的级别攻击模式通常会利用许多不同的标准水平攻击模式链接在一起来完成一个目标。 |
93年 |
日志Injection-Tampering-Forging |
此表显示了这种攻击模式的观点属于和顶级类别内的这一观点。
执行流程
探索
调查申请存储用户可控的输入:使用浏览器或一个自动化工具,敌人之前所有公共和行动在一个网站的链接。他们记录所有的链接、表单、资源访问web应用程序和所有其他可能的切入点之一。敌人正在寻找用户输入存储的领域,如用户配置文件,购物车,文件管理,论坛、博客和日志。
技术 |
使用搜索工具跟踪和记录所有的链接和分析网页找到入口点。 |
使用一个代理工具来记录所有的链接访问web应用程序的手册中遍历。 |
网站使用浏览器手动探索和分析它是如何构建的。许多浏览器的插件可以促进分析或自动发现。 |
实验
存储XSS漏洞探测识别潜在的入口点:对手使用入口点聚集在“探索”阶段作为目标列表和注入各种常见脚本有效载荷和特殊字符来确定一个入口点实际上代表一个脆弱和描述在多大程度上可以利用的漏洞。
技术 |
使用XSS探针字符串列表提交脚本的输入字段,可以存储web应用程序。如果可能的话,探测器字符串包含一个惟一的标识符,这样他们就可以被查询提交后是否存储。 |
使用HTML列表提交特殊字符的输入字段可以通过web应用程序存储和检查如果他们正确编码,取代或过滤掉。 |
商店恶意XSS内容:一旦对手确定哪些存储位置容易受到XSS,他们将与web应用程序存储恶意内容。敌人可以有许多目标,从窃取会话id,饼干,凭据和页面内容从一个受害者。
技术 |
恶意脚本存储在一个页面时,将执行被受害者。 |
使用工具,如牛肉存储钩到web应用程序。这将提醒对手当受害者访问内容和将对手控制受害者的浏览器,允许他们访问饼干,用户截图、用户剪贴板,和更复杂的XSS攻击。 |
利用
让受害者视图存储内容:为了成功的攻击,受害者需要查看存储恶意网页上的内容。
技术 |
发送网络钓鱼电子邮件包含一个URL的受害者,这将直接存储的恶意内容。 |
只是等待一个受害者视图的内容。这是可行的,在内容的情况下发布到一个受欢迎的公共论坛。 |
先决条件
一个应用程序,该应用程序使用一个客户端web浏览器启用了脚本。 |
一个应用程序,该应用程序未能充分清洁或编码不可信的输入。 |
一个应用程序,该应用程序将用户提供的信息存储在数据存储。 |
技能要求
(级别:中等) 需要编写脚本的能力的不同复杂性和注入应用程序中通过用户控制字段。 |
所需资源
后果
这个表指定不同的个体与攻击模式相关的后果。范围确定违反了安全属性,而影响了负面的技术影响,如果敌人成功的攻击。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能有高可能性模式将被用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密 |
读取数据 |
|
保密
授权
访问控制 |
获得特权 |
|
保密
完整性
可用性 |
执行未经授权的命令 |
|
完整性 |
修改数据 |
|
缓解措施
使用浏览器技术,不允许客户端脚本。 |
利用严格的类型、字符和编码执行。 |
确保所有用户提供的输入是在存储之前进行验证。 |
例子,实例
敌人确定系统使用一个基于web的接口管理。对手的恶意脚本创建一个新用户记录和物资在用户名字段中。用户名字段不验证系统和创建一个新的日志条目详细的创建新用户。后,管理员审核登录管理控制台。当管理员遇到新用户条目的时候,浏览器看到一个脚本并执行它,偷了管理员的身份验证cookie和转发的对手。敌人然后使用收到认证cookie作为管理员登录到系统,提供可以远程访问管理控制台。 |
一个在线论坛允许其成员html有效发布消息,其中也包括图像标记。敌人嵌入JavaScript的图像标记信息。敌人然后发送电子邮件广告受害者免费商品和提供了一个链接到表单如何收集。当受害者访问论坛和读取消息,执行恶意脚本在受害者的浏览器。 |
引用
内容的历史
提交 |
提交日期 |
提交者 |
组织 |
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客户端首页 |
更新描述 |
2020-07-30
(版本3.3) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Example_Instances |
2020-12-17
(版本3.4) |
CAPEC内容团队 |
manbetx客户端首页 |
更新的引用 |
2022-02-22
(版本3.7) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Execution_Flow |
2022-09-29
(版本3.8) |
CAPEC内容团队 |
manbetx客户端首页 |
更新描述,Extended_Description |
|