月度归档:2019年05月

Length extension attack

长度扩展攻击(Length extension attacks)是指针对某些允许包含额外信息的加密散列函数的攻击手段。简单来说,就是通过特殊的手段来扩展消息,可以伪造一个不经过私钥签名的Hash签名结果。

攻击条件

  1. 已知私钥和消息
  2. 采取了 H(密钥 ∥ 消息) 此类构造的散列函数

攻击效果

  1. 伪造消息签名

攻击场景

  1. API请求签名:MD5(Secret + k1,v1 + k2,v2 …) ,注意secret在前
继续阅读

Padding oracle attack

适用于CBC模式下的AES,DES,3DES等分组密码。

攻击成立需要:

  1. 能控制初始向量 IV 和密文 CT
  2. 能触发密文解密流程(选择密文),得知解密结果以及是否padding异常

攻击效果:

  1. 解密密文
  2. 生成任意明文的密文

攻击场景:

  1. 加密协议为SSLv3的HTTPS请求
  2. 客户端存储形式的敏感凭证
继续阅读