SEEDLAB2.0-Padding Oracle Attack

本文探讨了padding oracle攻击的概念,通过实际操作演示如何利用Oracle服务器进行加密信息的破解,涉及PKCS#5填充、CBC模式AES加密,以及如何通过反复试验找出隐藏在加密中的秘密消息。

一些系统在解密给定密文时,验证填充是否有效,如果填充无效,则抛出错误。 这种看似无害的行为启用了一种称为padding oracle攻击的攻击。 发现许多知名系统容易受到此攻击,包括Ruby on Rails,ASP.NET和OpenSSL。
在本实验中,在容器中运行的两个Oracle服务器。 每个oracle内部都隐藏着一条秘密消息,它让我们知道知道密文和IV。 而且,对于我们提供的任何密文,它都会告诉我们填充是否有效。我们的工作是使用oracle的响应来找出秘密消息的内容。

先把之前运行的容器关掉,然后拉去本次实验所需环境
在这里插入图片描述

可以看到容器在运行了
在这里插入图片描述

Task1 熟悉padding
对于分组密码来说,当明文不是分组大小的整数倍时,需要填充,PKCS#5填充标准被大多数分组密码使用。
我们使用echo -n创建一个文件P,其长度为5
在这里插入图片描述

(如果不使用-n的话,长度会是6,因为echo会自动加上一个newline character)
然后使用openssl使用128位aes,cbc模式对其进行加密
在这里插入图片描述

为了看看在加密期间填充了什么,我们可以将其解密,但是默认的解密操作会自动移除填充内容,所以我们需要加上-nopad

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值