WeChall - Temper

Challenge

站点把 session 存进浏览器 cookie,并声称 cookie 已加密。目标是篡改 cookie,以 System 用户登录。

Solution

题面给 cookie library 和 login source,必须源码审计。

典型攻击方向:

  1. 登录 user:user,拿到合法 encrypted cookie。
  2. 解读 cookie plaintext 结构,例如 username=user、JSON、序列化字符串等。
  3. 检查加密是否缺少 MAC/authentication。
  4. 若是 CBC/CTR/stream cipher,可利用 bit flipping 把 user 改成 System
  5. 若是 padding oracle/format oracle,利用错误反馈逐步恢复或伪造 plaintext。

关键点:只“加密”不等于防篡改。没有认证标签时,密文可 malleable。

真实 login/cookie 修改会改变挑战状态,执行前需要确认。