chores: security.md, fix typos

This commit is contained in:
qqqian 2017-10-29 21:59:13 +08:00 committed by Lellansin
parent 24e54453a0
commit 4d0e1919be

View File

@ -56,7 +56,7 @@ Node.js 的加密貌似有点问题, 某些算法算出来跟别的语言 (比
跨站脚本 (Cross-Site Scripting, XSS) 是一种代码注入方式, 为了与 CSS 区分所以被称作 XSS. 早期常见于网络论坛, 起因是网站没有对用户的输入进行严格的限制, 使得攻击者可以将脚本上传到帖子让其他人浏览到有恶意脚本的页面, 其注入方式很简单包括但不限于 JavaScript / VBScript / CSS / Flash 等.
当其他用户浏览到这些网页时, 就会执行这些恶意脚本, 对用户进行 Cookie 窃取/会话劫持/钓鱼欺骗等各种攻击. 其原理, 如使用 js 脚本收集当前用户环境的信息 (Cookie 等), 然后通过 img.src, Ajax, onclick/onload/onerror 事件等方式将用户数据传递到攻击者的服务器上. 钓鱼欺骗则常见于使用脚本进行视觉欺骗, 构建假的恶意的 Button 覆盖/替换真实的场景等情况 (该情况在用户上传 CSS 的时候也可能出现, 如早淘宝网店装修, 使用 CSS 拼接假的评分数据等覆盖在真的评分数据上误导用户).
当其他用户浏览到这些网页时, 就会执行这些恶意脚本, 对用户进行 Cookie 窃取/会话劫持/钓鱼欺骗等各种攻击. 其原理, 如使用 js 脚本收集当前用户环境的信息 (Cookie 等), 然后通过 img.src, Ajax, onclick/onload/onerror 事件等方式将用户数据传递到攻击者的服务器上. 钓鱼欺骗则常见于使用脚本进行视觉欺骗, 构建假的恶意的 Button 覆盖/替换真实的场景等情况 (该情况在用户上传 CSS 的时候也可能出现, 如早淘宝网店装修, 使用 CSS 拼接假的评分数据等覆盖在真的评分数据上误导用户).
> 过滤 Html 标签能否防止 XSS? 请列举不能的情况?
@ -185,7 +185,7 @@ SELECT * FROM users WHERE usernae = 'myName' AND password = ''; DROP TABLE users
其能实现的功能, 包括但不限于删除数据 (经济损失), 篡改数据 (密码等), 窃取数据 (网站管理权限, 用户数据) 等. 防治手段常见于:
* 给表名/字段名加前缀 (避免被猜到)
* 报错隐藏表信息 (避免被看到, 12306 早就出现过的问题)
* 报错隐藏表信息 (避免被看到, 12306 早就出现过的问题)
* 过滤可以拼接 SQL 的关键字符
* 对用户输入进行转义
* 验证用户输入的类型 (避免 limit, order by 等注入)