*本文原创作者:flurry,本文属FreeBuf原创奖励计划,未经许可禁止转载
前言:
前段时间遇到一个挺有意思的题目,用到了padding oracle attack的相关知识,于是恶补了一下padding oracle attack相关内容,发现有许多需要知道的预备知识,了解很琐碎,本着取之于民用之于民同时也可以方便自己以后复习的心态,我决定整理一下这几天的所学所得,方便小白们一起学习(如果已经有一定基础只是对padding oracle attack本身感兴趣可以直接跳至第四部分)。
一、异或运算(XOR)
我们先首了解一下什么是异或运算。我们知道,计算机存储的数据是以二进制的格式存入的,把两段二进制数字进行异或运算的话,相同的得0,不同的得1,例如:
0101 XOR 0110 = 0011
65
微软在2010年9月17号发布了一个关于ASP.NET平台的安全漏洞公告,这个公告就是关于Padding Oracle攻击的,其实这个漏洞并不仅是ASP.NET才存在,而ASP.NET PaddingOracle这种说法引人注目的原因可能是由于微软官方的反应和其应用比较广泛。Padding Oracle Attack还是颇具威力的,ASP.NET的Padding Oracle Attack被Pwnie评为2010年最佳服务端漏洞之一。还是看 Juliano Rizzo and Thai Duong 的相关Paper。 另外就是padbuster这个工具也是针对padding oracle的自动化实现,而且作者写的文章也是阐述padding oracle攻击原