无需登录 数据私有 本地保存

XSS 过滤器绕过测试场 - 安全编码演示

61
0
0
0

使用教程

第一步:选择过滤器级别

在页面顶部的过滤器选择器中,选择一个过滤器级别(Level 1到Level 6)。每个级别对应不同复杂度的过滤策略。建议从Level 1开始,逐步了解各种过滤器的实现原理和局限性。选择级别后,页面会显示该级别的过滤器说明、过滤规则描述和推荐的测试载荷。

第二步:了解过滤规则

每个过滤器级别都会详细展示其过滤规则。例如Level 1只过滤"script"关键字,Level 2增加了对常见事件处理器(onclick、onerror等)的过滤,Level 3使用正则表达式匹配更多的危险标签和属性,Level 4-6则采用了更复杂的多层过滤策略。仔细阅读过滤规则,思考可能的绕过方式,然后再尝试预设载荷。

第三步:尝试预设载荷

点击载荷列表中的任意载荷,工具会自动将其填入测试输入框并执行过滤和渲染。观察载荷是否被过滤器成功拦截,以及如果绕过了过滤器,注入的脚本是否在结果区域成功执行。每个预设载荷都标注了绕过技术的类型和原理说明,帮助你理解为什么该载荷能够或不能绕过当前过滤器。

第四步:编写自定义载荷

在掌握了预设载荷的绕过原理后,尝试编写自己的绕过载荷。你可以从最简单的变形开始,如将script改为ScRiPt(大小写混淆)、使用javascript:伪协议、使用HTML实体编码(如将字符<编码为<)等。工具会实时显示过滤后的结果,帮助你调试载荷。

第五步:观察绕过统计

在统计面板中查看当前过滤器级别的绕过成功率。对比不同级别的统计数据,你会清楚地看到:简单关键字过滤几乎无法防御任何有意义的绕过技术;正则表达式过滤虽然更强大,但仍可能被巧妙构造的载荷绕过;完全依赖客户端过滤器是不可靠的防御策略。这些数据将帮助你在实际项目中做出更好的安全决策。

第六步:学习防御方案

在了解了各种绕过技术后,重点关注每个过滤器级别旁边的防御方案推荐。核心防御策略包括:始终使用textContent而非innerHTML来插入用户输入、使用DOMPurify库进行HTML消毒、配置CSP内容安全策略、使用白名单而非黑名单进行输入验证、对输出进行上下文相关的编码等。这些才是防御XSS的正确方法。

第七步:阅读知识库

浏览XSS知识库FAQ部分,了解XSS的三种类型(反射型、存储型、DOM型)的区别和特点。阅读CSP内容安全策略的配置方法和最佳实践。了解DOMPurify库的使用方式和配置选项。建立系统的XSS安全知识体系,将绕过测试中获得的经验转化为实际的安全编码能力。