CBC翻转攻击,了解一下!

您所在的位置:网站首页 字节比特反转 CBC翻转攻击,了解一下!

CBC翻转攻击,了解一下!

2023-11-29 12:35| 来源: 网络整理| 查看: 265

通过一道题了解CBC翻转攻击

CBC翻转攻击方法的精髓在于:

通过损坏密文字节来改变明文字节。(注:借助CBC内部的模式)借由此可以绕过过滤器,或者改变用户权限提升至管理员,又或者改变应用程序预期明文以尽猥琐之事。

下面介绍一下CBC字节翻转攻击的原理: 上图CBC加密的原理图

Plaintext:待加密的数据。 IV:用于随机化加密的比特块,保证即使对相同明文多次加密,也可以得到不同的密文。

Ciphertext:加密后的数据。

在这里重要的一点是,CBC工作于一个固定长度的比特组,将其称之为块。在本文中,我们将使用包含16字节的块。

整个加密的过程简单说来就是:

首先将明文分组(常见的以16字节为一组),位数不足的使用特殊字符填充。生成一个随机的初始化向量(IV)和一个密钥。将IV和第一组明文异或。用密钥对3中xor后产生的密文加密。用4中产生的密文对第二组明文进行xor操作。用密钥对5中产生的密文加密。重复4-7,到最后一组明文。将IV和加密后的密文拼接在一起,得到最终的密文。

从第一块开始,首先与一个初始向量iv异或(iv只在第一处作用),然后把异或的结果配合key进行加密,得到第一块的密文,并且把加密的结果与下一块的明文进行异或,一直这样进行下去。因此这种模式最重要的特点就是:前一块的密文用来产生后一块的密文。 这是解密过程,解密的过程其实只要理解了加密,反过来看解密过程就也很简单了,同样的,前一块密文参与下一块密文的还原。

从密文中提取出IV,然后将密文分组。使用密钥对第一组的密文解密,然后和IV进行xor得到明文。使用密钥对第二组密文解密,然后和2中的密文xor得到明文。重复2-3,直到最后一组密文。

这幅图是我们进行翻转攻击的原理图: 这里可以注意到前一块Ciphertext用来产生下一块明文,如果我们改变前一块Ciphertext中的一个字节,然后和下一块解密后的密文xor,就可以得到一个不同的明文,而这个明文是我们可以控制的。利用这一点,我们就欺骗服务端或者绕过过滤器。

具体怎么翻转呢,因为涉及到异或,这里稍微介绍下异或的概念:

当我们的一个值C是由A和B异或得到 C = A XOR B 那么 A XOR B XOR C很明显是=0的 当我们知道B和C之后,想要得到A的值也很容易 A = B XOR C 因此,A XOR B XOR C等于0。有了这个公式,我们可以在XOR运算的末尾处设置我们自己的值,即可改变。

下面以一道例题作为说明 http://118.89.219.210:49168/index.php 首先,尝试用常见的用户名测试一下,root,user,admin等 当登录其他的用户名时,返回来了提示only admin can see flag 当尝试用admin登录时,却说admin不允许登录 接着尝试看看是否存在注入,可是都返回一样的信息,这时候思路需要转换一下,肯定有条路走,不然这道题做不下去,这时候要考虑是不是存在某些提示,比如源码,扫一遍常见的敏感路径,最后发现.index.php.swp存在,下载下来。

关于swp文件: 使用vi,经常可以看到swp这个文件。那这个文件是怎么产生的呢,当打开一个文件,vi就会生成这么一个.(filename)swp文件 以备不测(比如非正常退出),如果你正常退出,那么这个这个swp文件将会自动删除 。

怎么恢复.swp: 可以使用 vi -r {your file name} 来恢复文件,然后用下面的命令删除swp文件,不然每一次编辑时总是有这个提示。 rm .{your file name}.swp 输入7,即可恢复 看到该题的代码

; Login Form $(document).ready(function() { $(".username").focus(function() { $(".user-icon").css("left","-48px"); }); $(".username").blur(function() { $(".user-icon").css("left","0px"); }); $(".password").focus(function() { $(".pass-icon").css("left","-48px"); }); $(".password").blur(function() { $(".pass-icon").css("left","0px"); }); });


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3