【网络安全】---web网络安全总结

本文总结了Web安全常见问题,包括XSS、CSRF、SQL注入和DDoS攻击等。针对XSRF,介绍了设置cookie的samesite选项、使用httpOnly和Token的防护策略。对于XSS攻击,讲解了其危害、分类和防御方法。此外,还讨论了SQL注入的攻击方式和应对措施。
摘要由CSDN通过智能技术生成

我们页面常见的web安全问题有:

一、保证我们的前端页面没有漏洞可循

  1. xss跨站点脚本攻击: 不要新人任何用户的输入, 能跟用户产生交互的地方都需要对参数进行转译或者过滤
  2. 文件上传漏洞攻击: 校验文件格式, 后端限制存放文件路径的权限,限制运行脚本
  3. SQL注入攻击: 对用户输入进行转译, 后端采用预编译的sql,不要直接使用前端参数
  4. CSRF 跨站请求伪造
  • anti CSRF token: 原理是从后端拿过来的html文件会在session存储一个随机的验证信息, 每次请求都发送这个验证信息进行校验
  • 验证码登录: 这种的验证原理是确认操作的是人,而不是脚本,绝大部分验证码都不会被现有的脚本破解
  • reffer 请求头验证,reffer会带原网站的访问信息

二、保证前后端传输不被盗取

采用https的验证方式, 那么为什么https的验证方式会那么安全?

  1. 对称加密: 公钥跟私钥是一样的, 都可以用来进行数据加密和解密, 攻击者只需要得到公钥,那么数据就像是未曾加密过一样,对称加密的问题是不会对每个用户生成一个秘钥。
  2. 非对称加密, 由服务器生成公钥私钥, 前端拿到公钥,对数据进行加密,私钥可以对数据进行解密。 非对称加密的问题是攻击者也可以得到公钥,所以可以拿到服务器返回的信息
  3. 对称加密 + 非对称加密: 这种方式的操作原理是,由客户端使用非对称加密的方式跟服务端商量出一个独一无二的key, 然后利用对称加密生成一个客户端独一无二的公钥。那么攻击者无法得到这个独一无二的公钥,便无法完成攻击。 但是这种方式仍然是有漏洞的,比如在客户端与服务端商量key的时候被中间人拦截, 问题是我们无法知道过来的请求是好的还是坏的
  4. 对称加密 + 非对称加密 + CA认证: 原理: 由CA部门颁发认证, 只有经过CA部门认证过的请求我们才认为是有效的请求。 具体的实现过程是
  • 由CA部门提供算法来加密我们的公钥得到一个证书, 客户端请求到一个liscense,客户端得到liscense之后需要对其进行解密。
  • 此时就需要CA部门提供的私钥来进行解密
  • 为了防止从CA部门获取数字证书的过程中又被截获, 我们的操作系统中预先安装了数字证书, 即是我们用来解密的CA的私钥。

一、XSRF 攻击

想象一下,你登录了 bank.com 网站。此时:你有了来自该网站的身份验证 cookie。你的浏览器会在每次请求时将其发送到 bank.com,以便识别你,并执行所有敏感的财务上的操作。

现在,在另外一个窗口中浏览网页时,你不小心访问了另一个网站 evil.com。该网站具有向 bank.com 网站提交一个具有启动与黑客账户交易的字段的表单 <form action="https://bank.com/pay"> 的 JavaScript 代码。

你每次访问 bank.com 时,浏览器都会发送 cookie,即使该表单是从 evil.com 提交过来的。因此,银行会识别你的身份,并执行真实的付款。image-20220329180851236

 

这就是“跨网站请求伪造(Cross-Site Request Forgery,简称 XSRF)”攻击。

当然,实际的银行会防止出现这种情况。所有由 bank.com 生成的表单都具有一个特殊的字段,即所谓的 “XSRF 保护 token”,恶意页面既不能生成,也不能从远程页面提取它(它可以在那里提交表单,但是无法获取数据)。并且,网站 bank.com 会对收到的每个表单都进行这种 token 的检查。

但是,实现这种防护需要花费时间:我们需要确保每个表单都具有 token 字段,并且还必须检查所有请求。

1、输入 cookie samesite 选项

Cookie 的 samesite 选项提供了另一种防止此类攻击的方式,(理论上)不需要要求 “XSRF 保护 token”。

它有两个可能的值:

  • samesite=strict(和没有值的 samesite 一样)

如果用户来自同一网站之外,那么设置了 samesite=strict 的 cookie 永远不会被发送。

换句话说,无论用户是通过邮件链接还是从 evil.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值