HTML Sanitizer API演示 - 安全插入HTML
使用新的Sanitizer API清理可能存在XSS风险的HTML字符串,并安全插入DOM。
UD5工具箱
使用占位符(?)或命名参数将用户输入与SQL逻辑分离,从根本上杜绝注入。
选择载荷后自动分析...
选择载荷后显示防御方案...
SQL注入是一种代码注入技术,攻击者通过将恶意SQL代码插入到应用程序的输入字段中,从而操纵后端数据库执行非预期的查询。它是OWASP Top 10中最常见的Web安全漏洞之一,可导致数据泄露、篡改甚至删除。
原理:当应用程序将用户输入直接拼接到SQL语句中时,攻击者可以注入额外的SQL子句(如OR、UNION、DROP等),改变原始查询的逻辑。
示例:原始查询 SELECT * FROM users WHERE name = '{input}',如果input为 ' OR '1'='1,则变成 SELECT * FROM users WHERE name = '' OR '1'='1',返回所有用户。
主要包括:基于错误的注入、联合查询注入、布尔盲注、时间盲注、堆叠查询注入、带外注入等。
参数化查询(预编译语句)是最有效的防御手段,配合输入验证、最小权限原则和ORM框架使用。
核心防御措施:
参数化查询将SQL结构与用户数据分离发送到数据库,数据库在编译SQL后再绑定参数值,用户输入永远不会被当作SQL代码执行。
工作流程:
1. 发送SQL模板(含占位符?)到数据库 → 2. 数据库编译SQL结构 → 3. 绑定用户输入作为参数值 → 4. 执行
关键点:用户输入在编译之后才绑定,因此无法改变SQL的语法结构。即使输入包含 ' OR '1'='1,它只会被当作字符串字面值处理。
SQL注入自1998年首次公开讨论以来,造成了大量重大数据泄露事件,包括Heartland Payment Systems(2008年,1.3亿张信用卡数据泄露)等。
著名案例包括:
ORM(如Hibernate、SQLAlchemy)能显著降低注入风险,但不能完全保证安全,尤其是在使用原生SQL或动态查询时。
ORM的局限性:
二阶SQL注入是指恶意数据先被存储到数据库中,后续在被读取并用于构建SQL查询时才触发注入,比一阶注入更难检测。
攻击流程:
1. 攻击者提交含注入载荷的数据(如注册用户名) → 2. 数据被安全存储 → 3. 后续功能读取该数据并拼接到SQL中 → 4. 注入被触发
防御:不仅在输入时验证,在所有使用数据的地方(包括从数据库读取的数据)都应使用参数化查询。
可通过自动扫描工具(如SQLMap、Burp Suite)、代码审查、渗透测试等方法检测。开发者应关注所有用户输入点。
检测方法:
使用新的Sanitizer API清理可能存在XSS风险的HTML字符串,并安全插入DOM。
使用范围请求安全地检查密码是否出现在已知数据泄露库中(不发送完整密码)。
输入 PlantUML 文本,编码为可嵌入图片的 URL 或解码已有的 PlantUML 链接查看源码。
扫描并连接附近的蓝牙设备,读取其电池服务电量数据,显示电量百分比。
解码 JWT 三部分,验证签名(若提供密钥),检查过期时间并高亮,支持修改负载重新生成。
使用浏览器SubtleCrypto API实现AES-GCM或AES-CBC加密解密,可设密码短语,全前端安全。
填入Payload及密钥,选择HS256/RS256算法生成JWT,并验证已签发Token的签名与过期时间。
提供多组在各色盲类型下仍可区分的定性、连续配色方案,辅助图表设计。
选择结构类型(Article, Product等),填写字段生成JSON-LD代码,嵌入网页增强搜索结果。
在线ROT13编码与解码,字母位移13位,简单经典的单表置换加密,适用于隐藏轻度敏感文本。
掷5颗骰子,选择保留哪些,3次机会后填入计分表,自动加总。
随时记录一句话或一张照片,日后随机抽出一张查看,带来惊喜。
在线Base64URL编码与解码,替换+/-为-/_并去除=填充,专为URL和JWT等场景优化。
展示如何用默认策略将字符串转换为TrustedHTML,并观察禁止直接赋值的安全限制。
在线条形码生成工具,支持Code128、EAN-13等多种格式,输入数字或字母生成矢量条形码,可保存为图片。
搜索附近的蓝牙低功耗(BLE)设备,并显示设备名称和ID,需用户授权。
输入目标URL,发送预检请求,分析Access-Control-*头,诊断跨域问题。
使用主密码和WebCrypto AES加密存储账号密码,数据仅存本地,需主密码解锁查看。
粘贴package.json内容,调用公开漏洞API(演示数据)检查依赖安全性,警示高危包。
输入部分代码,选择算法自动计算最后一位校验码,用于生成或验证条码。
掷五个虚拟骰子,自动分类计算十六条得分项并高亮最佳填充策略,辅助桌游。
在线XML格式化工具,支持XML缩进美化、语法高亮、树形结构查看及格式验证,完全在浏览器中处理。
输入面包屑导航的层级和链接,自动生成符合 Schema.org 的 BreadcrumbList 结构化数据。
解析JSON Web Token,显示Header和Payload内容及签名算法,不验证签名,方便开发调试。
在线JSON格式化与验证工具,支持JSON压缩美化、语法高亮、错误定位,浏览器本地处理保障数据安全。
连接蓝牙心率监测器,实时显示心率数据并绘制波形,展示健康设备 Web 接入。
立即播放麦克风输入的声音,检验麦克风是否工作。
可视化CSS box-shadow生成工具,拖拽调整阴影偏移、模糊、扩散、颜色,实时预览并生成代码。
展示如何通过强制Trusted Types策略阻止将未清理字符串直接赋给innerHTML。
填写标题、文本和URL,触发系统级分享菜单,测试Web Share API功能。