(CVE-2020-4054)Sanitize_跨站脚本漏洞

# (CVE-2020-4054)Sanitize 跨站脚本漏洞

======================================

一、漏洞简介
————

于2020/06/16,[Ruby
Sanitize](https://github.com/rgrove/sanitize/security/advisories/GHSA-p4x4-rw2p-8j8m)项目官方发布了编号为\`\`CVE-2020-4054`的[漏洞公告](https://github.com/rgrove/sanitize/security/advisories/GHSA-p4x4-rw2p-8j8m),当`Sanitize`模块的过滤规则被配置成`RELAXED`时,利用该漏洞可以绕过该模块的安全过滤功能。具体配置信息可以查看`lib/sanitize/config/relaxed.rb\`文件。

二、漏洞影响
————

Sanitize 3.0.0及之后版本(5.2.1版本已修复)

三、复现过程
————

### 漏洞分析

### `HTML`语法过滤基础思路

这部分将讲述恶意HTML文本的检测思路与过滤手法,有相关经验的大佬可以直接跳过。

[`Sanitize`](https://github.com/rgrove/sanitize)是一个用于检测HTML恶意语法并过滤的Ruby模块,其基于白名单的工作方式,提取到输入内容中的HTML标签后,分析并删除不在白名单内的标签,随后生成相对安全的HTML内容,用户可自定自己的白名单规则(例如,只允许``、``标签),不过该模块有一些默认的规则内容,接下来我会分析`RELAXED`过滤规则场景下的默认可信标签,列表如下:

评论 抢沙发

请登录后发表评论

    请登录后查看评论内容