这是我参与「第五届青训营 」伴学笔记创作活动的第 11 天
课程重点
- Cross-Site Scripting(XSS)
- Cross-site request forgery(CSRF)
- Injection
- Denial of Service(DoS)
- Distributed DoS(DDoS)
- 中间人攻击
- XSS 的防御
- 防御 CSRF 的正确姿势
- 防御 DoS
- 防御 Injection
- 防御中间人
Cross-Site Scripting(XSS)
跨站脚本攻击(Cross-site scripting,XSS)是一种安全漏洞,攻击者可以利用这种漏洞在网站上注入恶意的客户端代码。若受害者运行这些恶意代码,攻击者就可以突破网站的访问限制并冒充受害者。
xss主要利用
特点
- 通常难以从UI上感知(暗地执行脚本)
- 窃取用户信息(cookie/token)
- 绘制UI(例如弹窗),诱骗用户点击/填写表单
类型
XSS 攻击可以分为 3 类:存储型(持久型)、反射型(非持久型)、DOM 型。
存储型 XSS
注入型脚本永久存储在目标服务器上。当浏览器请求数据时,脚本从服务器上传回并执行。
反射型 XSS
当用户点击一个恶意链接,或者提交一个表单,或者进入一个恶意网站时,注入脚本进入被攻击者的网站。Web 服务器将注入脚本,比如一个错误信息,搜索结果等 返回到用户的浏览器上。由于浏览器认为这个响应来自"可信任"的服务器,所以会执行这段脚本。
基于 DOM 的 XSS
通过修改原始的客户端代码,受害者浏览器的 DOM 环境改变,导致有效载荷的执行。也就是说,页面本身并没有变化,但由于 DOM 环境被恶意修改,有客户端代码被包含进了页面,并且意外执行。
Cross-site request forgery(CSRF)
- 在用户不知情的前提下
- 利用用户权限(cookie)
- 构造指定HTTP请求,窃取或修改用户敏感信息
总结
在网络时代下,Web 安全随处可见并且危害极大,Web 安全问题也越来越受到重视。基于此背景,从安全问题中攻击者的角色出发,讲解目前存在哪些技术手段将危害到 Web 安全。面临错综复杂的网络环境,了解哪些手段会造成 Web 安全事故之后,通过第二种「防御者」角色的视角,剖析不同攻击手段的技术细节,帮助大家逐个击破安全漏洞,让大家对网络安全的认识更加深刻,日后的工作中会更好地维护 Web 安全。