2019年XSS攻击备忘单:绕过策略与技术细节

需积分: 0 1 下载量 172 浏览量 更新于2024-07-01 1 收藏 456KB PDF 举报
"本文档是关于跨站脚本(XSS)的备忘单,由Portswigger公司的Web安全学院在2019年更新,旨在为渗透测试人员提供XSS攻击的各种方法,包括事件处理、协议利用、特殊属性、字符限制、编码技巧以及沙箱逃逸策略。该文档特别提到了无需用户交互的事件处理程序,以及不同浏览器中触发事件的场景。" 这篇备忘单详尽地介绍了跨站脚本(XSS)攻击的各种技术和技巧,XSS是一种常见的Web安全漏洞,允许攻击者注入恶意脚本到用户浏览器中,从而控制用户的会话或执行其他恶意操作。以下是备忘单中涵盖的一些关键知识点: 1. **事件处理**: - 不需要用户交互的事件处理程序:例如,当页面被打印、CSS动画开始、结束、取消或重复时,可以触发恶意脚本执行。 - 具体示例包括`onafterprint`, `onanimationcancel`, `onanimationend`, `onanimationiteration` 和 `onanimationstart`等。 2. **浏览器兼容性**: - 攻击向量在不同的浏览器(如Chrome、Firefox、IE、Safari)中触发的情况各不相同,攻击者需考虑跨平台兼容性来最大化攻击效果。 3. **CSS动画利用**: - CSS动画可以用来创建触发事件的条件,例如,通过改变元素的位置或状态来启动恶意脚本。 4. **特殊属性和限制字符**: - 使用特殊的HTML属性,如`<aid=xtabindex=1onactivate=alert(1)></a>`,可以绕过一些过滤机制。 - 了解浏览器对特定字符的处理方式,例如`<`和`>`,是编写有效XSS攻击的关键。 5. **编码技巧**: - 为了绕过WAF(Web应用防火墙)和过滤规则,攻击者可能会使用URL编码、HTML实体编码、JavaScript编码等多种编码方式。 6. **沙箱逃逸**: - 在某些情况下,攻击者可能试图通过沙箱逃逸来增强他们的攻击能力,例如,当浏览器尝试限制脚本执行的环境时。 这些技术的掌握对于网络安全专业人员来说至关重要,他们需要理解如何检测和防止XSS攻击,同时,对于渗透测试者,这些工具和方法则是发现安全漏洞的重要手段。XSS攻击的防御通常包括输入验证、输出编码、内容安全策略(CSP)等措施,而了解攻击手段是实施有效防御的基础。