Cryptohack Flipping Cookie
Cryptohack Flipping Cookie
AiY0u**比特翻转攻击(bit flipping attack)**是一种针对CBC的常见的攻击方法
因为CBC核心是通过前一个密文块与当前明文块进行异或(XOR)运算后再加密,从而引入上下文关联性
但是异或是一种线性运算,可预测性强。
因此我们可以通过更改iv或者更改部分密文片段,经由异或运算,来实现对明文的翻转
例题
Cryptohack Flipping Cookie
观察题目代码
我们可以获得iv的信息(CBC中iv的安全性至关重要)
并且可以知道,该网站并没有对信息做完整性检测,它只检查是否存在字符串’admin=True‘存在
再有就是我们能够获得的cookie中,第一个密文块对应’admin=False‘的片段
那么我们只需要通过拟造一个虚假的iv,并且让该iv和“admin=False……”的异或结果出现“admin=True……”
1 | true_iv ^ t = 'admin=False……' |
写出代码:(很shi,看个乐呵就行)
1 | import requests |