本文介绍三种web中常见的密码学攻击手段:hash扩展攻击,bit翻转攻击,padding oracle攻击。
由于并不是很新的东西,本文只介绍攻击手法与场景,不赘述算法。

12.6. 更新0x00 hash扩展攻击。
待续。

2018 5.9. 更新ppt
https://www.th1s.cn/test/docs/random.pptx

0x00 hash扩展攻击

存在hash扩展攻击的场景是这样的,代码中存在以下形式的加盐hash:signature=hash(secret+string)我们就可以在不知道secret条件的情况下,根据已知的一对string和signature来构造一对新的string和signature。

前提条件
我们需要知道secret的长度(不知道的话就需要爆破),需要知道一对已知的string和signature。
工具
hash_extender

./hash_extender -d "(string)" -s "(signature)"  -l (length) -f (hashtype) -a "(anything you like)"

(string)为前提条件中已知的string,(signature)为signature,(length)为secret的长度,(hashtype)为hash的方式如md5。

举个例子,string="adminadmin",signature=571580b26c65f306376d4f64e53cb5c7,length=15。

./hash_extender -d "adminadmin" -s "571580b26c65f306376d4f64e53cb5c7"  -l 15 -f md5 -a ""

得到了新的一对string和signature。
QQ图片20161206225133.png