-
总览
-
XSS Cross Site Script 跨站脚本攻击
-
CSRF Cross Site Request Forgery 跨站请求伪造
- 它利⽤⽤户已登录的身份,在⽤户毫不知情的情况下,以⽤户的名义完成⾮法操作
-
页面劫持 : 使用HTTPS就行了
- 攻击者通过请求的数据传输过程进行数据修改,或者对网站域名进行泛域名解析以重定向网站,在网站中注入广告等
-
iframe安全
-
SQL注入 sql是我们学习数据库的一种语言,而注入就代表是从前端对数据库下手
-
OS注入和SQL注入差不多
-
请求劫持 DNS劫持,访问的不是预期IP
-
DDOS distributed denial of service
XSS
- 反射型 XSS:恶意脚本通过URL参数传递给服务器,然后被反射到页面上。
- 存储型 XSS:恶意脚本被存储在服务器上,每次用户访问页面时都会执行。
- DOM 型 XSS:恶意脚本直接操作DOM,影响页面行为。
防御措施:
- 验证和过滤
- 输出编码
- HTTP头部CSP, Content Security Policy,设置白名单
- 使用框架,并且不用 dangerouslySetInnerHTML
CSRF
攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的。
防御手段
- 禁止第三方网站携带cookie (SameSite Cookie)
- CSRF Token 校验 一次性token验证
- 双重cookie验证 实际上就是使用了一个token,但是也通过cookie传送
- SameSite: Strict 阻止向不同的域名发送请求携带cookie
- 检查referer Header和 Origin Header来进行同源验证
-
SSRF(Server-Side Request Forgery)
利用一个可以发出请求的网站或者服务为跳板访问内网的攻击方式
- 过滤返回的消息
- 限制端口,限制协议,设置内网白名单
iframe安全
- 点击劫持 是⼀种视觉欺骗的攻击⼿段。攻击者将需要攻击的⽹站通过iframe嵌套的⽅式嵌⼊⾃⼰的⽹⻚中,并将 iframe 设置为透明,在⻚⾯中透出⼀个按钮诱导⽤户点击。
- 禁止自己的 iframe 中的链接外部网站的JS
防御措施
-
Content-Security-Policy 响应头 ,白名单限制可加载的域,指明允许的协议
-
配置sandbox属性,限制iframe权限
- 唯一来源
- 阻止表单
- 阻止脚本
- 禁用API
- 防止链接浏览其他上下文
- 防止使用插件
SQL注入
sql是我们学习数据库的一种语言,而注入就代表是从前端对数据库下手,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗数据库服务器执行恶意的SQL命令,从而达到和服务器 进行直接的交互
- 匹配和限制
- 使用有防sql注入功能的后端组件和库