WEB前后端漏洞分析与防御技巧--第二部分

WEB前后端漏洞分析与防御技巧–第二部分

第五章 传输安全

HTTP传输窃听
HTTP传输窃听

HTTP窃听

  1. 窃听用户密码
  2. 窃听传输敏感信息
  3. 非法获取个人资料

HTTP篡改

  1. 插入广告
  2. 重定向网站
  3. 无法防御的XSS和CSRF攻击

HTTPS

HTTPS

中间人攻击

中间人攻击

如何确定服务器身份

如何确定服务器身份

第六章 密码安全

密码的作用:证明你是你

密码-比对:存储的密码比对输入的密码

密码-泄露渠道:

  1. 数据库被偷
  2. 服务器被入侵
  3. 通讯被窃听
  4. 内部人员泄露数据
  5. 其他网站(撞库)

密码-存储

  1. 严禁密码的明文存储(防泄漏)
  2. 单向变换(防泄漏)
  3. 变换复杂度要求(防猜解)
  4. 密码复杂度要求(防猜解)
  5. 加盐(防猜解)

密码-哈希算法

  1. 原文-密文一一对应
  2. 雪崩效应(原文变动特别小,密文完全不同)
  3. 密文-原文,无法反推
  4. 密文固定长度
  5. 常见哈希算法:md5,sha1,sha256

密码-MD5单向变换

密码-MD5单向变换
由于存在哈希算法对应的彩虹表,所以MD5单向变换并不安全。应该采用如下方式进行密码哈希变换。

md5(明文) = 密文
md5(md5(明文)) = 密文
md5(sha1(明文)) = 密文
md5(sha256(sha1(明文))) = 密文

单向变换彩虹表

单向变换彩虹表

密码(加盐和多次哈希)

对于每个用户生成的随机盐值也应该存储到DB中去,以便用户登录的时候使用

计算盐值和加密密码的方式

计算盐值和加密密码的方式

密码-帮助用户加强复杂度

密码-帮助用户加强复杂度

密码-变换次数越多越安全

  1. 加密成本几乎不变(生成密码时速度慢一些)
  2. 彩虹表失效(数量太大,无法建立通用性)
  3. 解密成本增大N倍

密码-密码传输的安全性

  1. https传输
  2. 频率限制
  3. 前端加密意义有限

第七章 接入层注入问题

SQL注入

原理:原本预期是数据的用户输入混到了sql的逻辑里面,改变了sql原本的含义。

例1:
例1
例2:
例2

SQL注入危害

  1. 猜解密码
  2. 获取数据
  3. 删库删表
  4. 拖库

SQL注入防御

  1. 关闭错误输出
  2. 检查数据类型
  3. 对数据进行转义
  4. 使用参数化查询(最根本的方法)
  5. 使用ORM(对象关系映射)

NoSQL注入和防御

  1. 检查数据类型
  2. 类型转换
  3. 写完整的条件

第八章 接入层上传问题

存在漏洞的原因:

  1. 上传文件
  2. 再次访问上传的文件
  3. 上传的文件被当成程序解析

上传漏洞防御

  1. 限制上传的后缀(不可靠)
    在这里插入图片描述
  2. 文件类型的检查(不可靠)
    在这里插入图片描述
  3. 文件内容检查(通过文件的头几个字节去判断,也不能100%可靠)
  4. 程序输出(会存在性能损耗,程序先读一遍到内存中,然后传给用户)
  5. 权限控制-可写可执行互斥 (基本原则,应尽量满足)

第九章 社会工程学和信息泄露

信息泄露

  1. 泄露系统敏感信息
  2. 泄露用户敏感信息
  3. 泄露用户密码

信息泄露的途径

  1. 错误信息失控
  2. SQL注入
  3. 水平权限控制不当
  4. XSS/CSRF
  5. ……

社会工程学

社会工程学

  1. 你的身份由于掌握的资料确认
  2. 别人掌握了你的资料
  3. 别人伪装成你的身份
  4. 别人利用你的身份干坏事

OAUTH思想

OAUTH思想

  1. 一切行为由用户授权
  2. 授权行为不泄露敏感信息
  3. 授权会过期

利用OAUTH思想防止资料泄露

利用OAUTH思想防止资料泄露

第十章 其他安全问题

  1. 拒绝服务DOS
  2. 重放攻击

拒绝服务攻击DOS

  1. 模拟正常用户
  2. 大量占用服务器资源
  3. 无法服务正常用户

常用攻击方式

  1. TCP半连接
  2. HTTP连接
  3. DNS

分布式拒绝服务攻击DDOS

  1. 流量可以达到几十到上百G
  2. 分布式(肉机,代理)
  3. 极难防御

DOS攻击防御

  1. 防火墙
  2. 交换机,路由器
  3. 流量清洗
  4. 高防IP(大量流量清洗服务,高带宽)

DOS攻击预防

  1. 避免重逻辑业务
  2. 快速失败快速返回
  3. 防雪崩机制
  4. 有损服务
  5. CDN

重放攻击

  1. 请求被窃听或记录
  2. 再次发相同的请求
  3. 产生意外的后果

重放攻击的后果

  1. 用户被多次消费
  2. 用户登录态被盗取
  3. ……

重放攻击的防御

  1. 加密(https)
  2. 时间戳
  3. token(session)
  4. nonce
  5. 签名
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值