原创文章,不得转载。
读者可订阅专栏,持续学习前端框架与后端开发相关技术。
文章目录
-
- 为什么要进行特殊字符转义及编码?
- 前端XSS的危害及转义用处
- 如何进行特殊字符转义及编码?
- 常见的特殊字符转义及编码
为什么要进行特殊字符转义及编码?
在 HTML 中,有一些特殊字符不可直接使用,需要使用转义字符或实体编码来表示。这是为了避免这些字符与 HTML 标签和语法产生冲突。同时,也是为了防范前端XSS。
例如,有些特殊字符(如 <
和 >
)作为HTML标签的一部分,要是没有被特殊处理可能被恶意XSS。
前端XSS的危害及转义用处
HTML的特殊字符转义及编码在防范跨站脚本攻击(Cross-Site Scripting, XSS)方面起到关键作用。XSS是一种常见的安全漏洞,攻击者通过在受信任网站上插入恶意脚本,使其在用户浏览器中执行,这将导致Cookie劫持等严重问题。
HTML的特殊字符转义及编码的作用如下:
(1)阻止脚本注入:
假设一个博客网站允许用户发表评论,并将评论内容直接显示在页面上。如果没有进行转义或编码处理,攻击者可以在评论中插入恶意脚本。例如:
用户评论:<script>alert('XSS Attack');</script>
如果评论内容未经过转义或编码,这段恶意脚本将在其他用户浏览该页面时被执行。
接下来以XSS-Labs靶场为例,成功执行XSS时将弹窗“完成的不错”
<