实验吧 简单的登录题 之[ CBC翻转攻击 ] PHP

解题链接: http://ctf5.shiyanbar.com/web/jiandan/index.php

刚看到这道题的时候一脸懵,毕竟不是科班出身,然后就上网查各种资料,一遍看不懂看两遍两遍看不懂就看三遍,就这样慢慢的有点感觉,然后试着试着自己写代码,从网上找的各种资料都是用Python写的,但是自己对Python不是特别了解,而且主要是想靠自己完完整整的走一遍,于是就用世界最好的语言PHP写了部分代码,没注释,因为最开始就是尝试的态度。

在这里插入图片描述
打开试题网站,提交数据后就看到下面有tips.php的文件,于是打开该页面,看到到了一堆PHP代码,这下就高兴了,因为PHP代码我刚好能看懂。在这里插入图片描述
然后把里面不常见的函数进行查阅,基本逻辑就了解的差不多了,于是发现这道题主要就是openssl_encrypt($plain, METHOD, SECRET_KEY, OPENSSL_RAW_DATA, $iv);函数的加密与解密,但是发现SECRET_KEY已经隐藏了,所以只能上网查询资料,基本上查的资料都说用CBC翻转攻击,于是就一遍一遍的看,然后成功实现SQL注入得到了flag值
在这里插入图片描述
解题思路:
1)在于考察aes-128-cbc算法的“CBC翻转攻击“漏洞

2)由源代码我们可知:
2.1)Flag只有Session = admin可以查看
2.2)我们不可以通过POST传参的方式Set Session = admin
2.3)我们可以通过CBC算法的翻转攻击漏洞 Set Session = admin

3)CBC翻转攻击原理:

上图CBC加密的原理图
1.Plaintext: 待加密的数据。
2.IV: 用于随机化加密的比特块,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值