网络安全

·  阅读 110

OSI七层模型与TCP/IP四层对应关系

请求一个网站的过程

TCP VS UDP

TCP/IP vs UDP/IP

HTTP存在的问题

  1. 容易被监听;
  2. 数据可能被篡改;
  3. 容易假冒服务器;
  • HTTPS
  1. HTTPS = HTTP over SSL
  2. SSL vs TLS
    1. SSL = Secure Sockets Layer 安全套接层
    2. TLS = Transport Layer Security传输层安全协议
  3. 加密算法
    1. 摘要 MD5 SHA --验证数据未被篡改,不能防偷窥
    2. 对称加密 DES 3DES RC-5 IDEA --加密解密秘钥相同;加/解密速度快
    3. 非对称加密 RSA ECC --加密解密秘钥不同;加/解密速度慢
  4. HTTPS连接过程即TLS握手过程

开发相关的网络攻击

  • 原因
    1. 程序自身逻辑问题
    2. 未经验证的客户端数据
      1. 不要相信任何客户端传递的参数
      2. HTTP Header中的信息不可信
      3. 请求也可能并非是真正的用户请求
  • 应用场景
    1. url中参数被修改
      解决办法:验权
    2. form中餐宿被修改
    3. cookie中的值被修改
      不要存敏感信息,信息要随机并且有效期设置
    4. RequestHeader不可信
      做复杂验证,如验证码,手机号码
    5. 请求不一定可信
      如验证码的,2363,前端可以伪造请求,比如循环10000次,知道找到正确验证码。解决办法,限制次数;

SQL注入攻击

  • 例子:重置密码 程序拼接了SQL语句,未使用SQL的参数模式

XSS攻击

  • Cross Site Scripting跨站脚本攻击
  • 代码注入攻击的一种
  • 危害
    1. 盗取cookie等敏感信息;
    2. 利用被攻击用户身份执行一些操作,如发帖、删除信息等;
    3. 利用被攻击站点和用户攻击其他站;
    4. 搞乱网站内容,阻碍正常用户访问;

如何防止XSS攻击

tech.meituan.com/2018/09/27/…

CSRF攻击

  • 跨站请求伪造
  • Cross Site Request Forgery
  • One click attack
  • session ridding
  • CSRF / XSRF
  • 场景--请假审批 第三方网站有隐藏的表单提交(提交的url是指向请假流程系统)
  • 特点
    1. 不需要代码注入
    2. 被攻击的用户需要实现登录过,并且未退出受攻击的网站
    3. 以被攻击用户的身份执行操作
    4. 服务器/用户较难发现此类攻击
    5. 不容易找到发起攻击的源头
  • 解决办法
    1. 检查request header referer https--->http浏览器一般不传递referer
    2. 给表单增加一个唯一的id(nonceid),仅可用一次,并校验合法性;
分类:
前端
标签:
分类:
前端
标签: