Menu

6.5. XSS 安全漏洞

XSS

目前我们的项目中存在非常严重的 XSS 安全漏洞。作为一个合格的 Web 开发工程师,必须遵循一个安全原则:

永远不要信任用户提交的数据。

我们在创建话题时对用户提交的内容字段 body 太过信任,没有对其做过滤处理,即原封不动的显示在页面上,这是非常危险的。

XSS 也称跨站脚本攻击 (Cross Site Scripting),恶意攻击者往 Web 页面里插入恶意 JavaScript 代码,当用户浏览该页之时,嵌入其中 Web 里面的 JavaScript 代码会被执行,从而达到恶意攻击用户的目的。

一种比较常见的 XSS 攻击是 Cookie 窃取。我们都知道网站是通过 Cookie 来辨别用户身份的,一旦恶意攻击者能在页面中执行 JavaScript 代码,他们即可通过 JavaScript 读取并窃取你的 Cookie,拿到你的 Cookie 以后即可伪造你的身份登录网站。(扩展阅读 —— IBM 文档库:跨站点脚本攻击深入解析

有两种方法可以避免 XSS 攻击:

  • 第一种,对用户提交的数据进行过滤;
  • 第二种,Web 网页显示时对数据进行特殊处...

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 20

ChiTanDaEru
观察器需注册
14 个点赞 | 7 个回复 | 分享 | 课程版本 5.5
bignose
总结要点:XSS 攻击
7 个点赞 | 0 个回复 | 分享 | 课程版本 5.5
Nickel
Fykex
按教程配置好 HTMLPurifier 后不能过滤<script>标签?
2 个点赞 | 7 个回复 | 问答 | 课程版本 5.5
Winter
安装 HTMLPurifier for Laravel 5?
1 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
hustnzj
如何在使用 htmlpurifier 的情况下嵌入 youtu 视频?
1 个点赞 | 0 个回复 | 分享 | 课程版本 5.5
heibai_2018
为什么只有 body 要过滤,标题也可以被 XSS 攻击?
0 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
遗忘的时光
该插件有副作用,使用需注意
0 个点赞 | 4 个回复 | 分享 | 课程版本 5.5
jiangfei
如果要原样输出 script 呢?怎么避免 xss 攻击又能原样输出?
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
TUrdzw
Composer 安装 HTMLPurifier 失败,
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
CaiBird008
HTMLPurifier 下载失败?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
hehorange
既然 Simditor 会自动转义字符实体,那不进行过滤也可以吧?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
他们叫我豆豆
关于编辑器与 XSS 过滤的疑问?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
AmberLavigne
HTMLPurifier 扩展包 clean 方法如何应用到 TopicObserver.php 中的?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
glee
我按步骤做了,但还是没和原来一样
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.5
lizhen9880
注意注释符号{{-- --}}和<! -- -->的使用
0 个点赞 | 0 个回复 | 分享 | 课程版本 5.5
CaiBird008
HTMLPurifier 下载失败?
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.5
StepKim
mews/purifier 不支持 video 标签白名单?
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.5
刻意练习,每日精进。
4
点赞
1539
浏览
20
讨论

作者