这篇文章将为大家详细讲解有关Paddind Oracle Attack的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。加密方式为AES免费云主机域名.CBC模式已知加密后的cipher已知加密时初始的iv如果明文过长,需要一个块一个块的进行解密,只是iv发生了变换,其中的过程一模一样对于每一块的明文,从后向前一位一位的解密先看CBC经典图在加密时在解密时存在一个服务器,会返回密文解密后的正确与否(padding),随后返回解密的状态,我们就可以通过该种方式取得加密后且与iv异或之前的中间态I
,那么我们发现I=C⊕P
,而C
已知,我们就可以通过异或来得到原来的明文P
,所以接下来的主要矛盾即是求得这个中间态I
。我们选择构建iv=x00
*16,将这个iv发送给服务器后会进行padding测试,假设P
的最后一位为X
,那么当且仅当padding后的结果为0x01
时(P⊕i⊕0x01
),服务器才会判定正确,那么我们即可对该位iv进行爆破测试,当服务器返回正确时,我们很大几率上是得到了正确的I
了,所以我们从最低位开始枚举,当该位正确时,接着向前一位开始枚举,知道全部位被取得时,也就是I
已知的时候了,最后利用I⊕IV
即可得到该块的明文P
了。随后将IV
改为上一个块的密文,重复上述操作即可。这里放一道标准实例题,相关分析如上,这里演示下具体操作。胡乱分析.jpg这里因为懒,所以手动改代码后多跑了几遍,因为这玩意爆破一次时间长得离谱,debug噩梦关于“Paddind Oracle Attack的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
相关推荐: 如何构建Piel.io的微服务交付第一篇:搭建Rancher Server
几个月前,我们开始尝试在我们的网站Piel.io上使用Rancher来构建我们的第一个微服务,在此期间,Rancher发布了1.0版。所以我觉得这是一个很好的时间点,我将通过三篇blog跟大家分享一下我们是如何通过Rancher来构建Piel.io的微服务交付…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。