这是我参与「第四届青训营 」笔记创作活动的第8天
web安全是什么
WEB安全是指WEB应用的安全,比如SQL注入、跨战站脚本、网页挂马等。 网络安全是指对网络的攻击,如蠕虫、病毒、木马等。 你对这个回答的评价是? “百度安全”与“中云网安”分别提出:积极Web安全模型必须是网络安全最新、最先进的方法。
web安全的类型
攻击
XSS,跨站脚本攻击(Cross Site Scripting)
存储型 XSS 攻击
利用漏洞提交恶意 JavaScript 代码,比如在input, textarea等所有可能输入文本信息的区域,输入<script src="http://恶意网站"></script>等,提交后信息会存在服务器中,当用户再次打开网站请求到相应的数据,打开页面,恶意脚本就会将用户的 Cookie 信息等数据上传到黑客服务器。
反射型 XSS 攻击
用户将一段含有恶意代码的请求提交给 Web 服务器,Web 服务器接收到请求时,又将恶意代码反射给了浏览器端,这就是反射型 XSS 攻击。 在现实生活中,黑客经常会通过 QQ 群或者邮件等渠道诱导用户去点击这些恶意链接,所以对于一些链接我们一定要慎之又慎。
Web 服务器不会存储反射型 XSS 攻击的恶意脚本,这是和存储型 XSS 攻击不同的地方。
基于 DOM 的 XSS 攻击
基于 DOM 的 XSS 攻击是不牵涉到页面 Web 服务器的。它的特点是在 Web 资源传输过程或者在用户使用页面的过程中修改 Web 页面的数据。比如利用工具(如Burpsuite)扫描目标网站所有的网页并自动测试写好的注入脚本等。
预防策略:
-
将cookie等敏感信息设置为httponly,禁止Javascript通过
document.cookie获得 -
对所有的输入做严格的校验尤其是在服务器端,过滤掉任何不合法的输入,比如手机号必须是数字,通常可以采用正则表达式.
-
净化和过滤掉不必要的html标签,比如
:<iframe>, <script>等;净化和过滤掉不必要的Javascript的事件标签,比如:onclick, onfocus等 -
转义单引号,双引号,尖括号等特殊字符,可以采用htmlencode编码 或者过滤掉这些特殊字符
-
CSP,全称为 Content Security Policy,即内容安全策略。主要以白名单的形式配置可信任的内容来源,在网页中,能够使白名单中的内容正常执行(包含 JS,CSS,Image 等等),而非白名单的内容无法正常执行,从而减少跨站脚本攻击(XSS),当然,也能够减少运营商劫持的内容注入攻击。
-
概念
向客户访问的网站中植入恶意脚本!
- 特点
- 难以自UI上感知
- 窃取用户信息 cookie | token 等
- 绘制UI
- demo
- 分类
- Stored XSS 恶意脚本被存在服务器中
- Reflected XSS
- DOM-based XSS
- Mutation-based XSS 基于不同浏览器的渲染细节按浏览器类型进行攻击
CSRF
跨域伪造请求
GET请求
POST请求
SSRF
DoS | Denial of Service
通过构造特定类型请求,导致服务器资源被显著消耗,无法及时响应请求,导致服务崩溃
ReDoS | 基于正则表达式的 DoS
利用正则表达式,如重复匹配的
DDos
短时间内大量僵尸设备同时请求同一IP,耗尽带宽导致服务器崩溃
传输层
中间人攻击
中间人劫持浏览器与服务器的传输,实现窃取信息、修改请求返回等
防御
XSS
永远不要相信用户提交内容
永远不要直接渲染用户提交内容为DOM
前端 - 主流框架 google-closure-library
后端 - node DOMPurify
- string -> DOM | 使用 DOMParser()
- 上传 svg
- Bolb 动态生成 script
- 自定义跳转链接
- 自定义样式
CSP | Content Security Policy
仅允许来自安全源的脚本运行
阻止 eval 与 inline1 script 执行
CSRF
检测origin和referer
使用token
iframe请求 | 使用 X-Frame-Options
避免 GET 和 POST 使用为同一接口
同域 SameSite | 设置 Set-Cookie: SameSite=None;
Injection
SQL 预编译
控制权限
建议允许访问清单
限制和检测URL参数
DoS
代码检测和测试
阻止使用正则
DDoS
流量治理
快速自动扩容
非核心服务降级
传输层
防止中间人
使用 HTTPS:可靠性、完整性、不可抵赖性
SRI
哈希算法
阻止静态资源被篡改
Feature Policy | Permission Policy
- camera
- autoplay
- microphone
总结
Web安全,计算机术语,随着Web2.0、社交网络、微博等等一系列新型的互联网产品的诞生,基于Web环境的互联网应用越来越广泛,企业信息化的过程中各种应用都架设在Web平台上,Web业务的迅速发展也引起黑客们的强烈关注,接踵而至的就是Web安全威胁的凸显,黑客利用网站操作系统的漏洞和Web服务程序的SQL注入漏洞等得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害。