攻防世界 Mysterious


title: 攻防世界 Mysterious
date: 2021年8月11日 20点30分
tags: 攻防世界
categories: 攻防世界

这个题真是差点就自己解出来了,卡在了最后一步,看了别人wp之后,有点懊悔。

先讲讲自我分析的过程

自我分析

1、PE分析

在这里插入图片描述

32位。

2、IDApro

IDA之前,先看看这个软件,打开发现是一个弹窗。

在这里插入图片描述

随便输入一串字母,发现点不动。直接上手IDA

(1)shift + F12查看字符串窗口

在这里插入图片描述

这里看到,有一个well done,和Buff3r_0v3rf|0w,我分析的时候,是看的Buff3r_0v3rf|0w,这两个一样的

(2)ctrl + x交叉引用

在这里插入图片描述

在这里插入图片描述

(3)F5反汇编

在这里插入图片描述

这里,也是百度了好几个函数。

在这里插入图片描述

我分析到这里的时候,我知道是拼接字符{Source_Buff3r_0v3rf|0w}这个形式,但是Source我不知道是什么,可以看到,itoa函数里面有Source,百度一波,说的是这个函数是将,字符串转为整型数的。后面的那个10,是十进制的意思,value是欲转换的数据。

而value = v4 + 1;

在这里插入图片描述

v4 = atoi(String);

以为关键地方在这个函数中,百度一波,发现atoi也是将字符串转为整型数的函数。

跟进去之后,是一堆看不太懂的东西。

在这里插入图片描述

一开始,准备硬着头发分析这堆代码,但是我觉得应该没这么难。就先放一边了。

又去查了查上面的几个函数

在这里插入图片描述

发现没什么用,又查了一下后面的函数,发现还是没什么用。

在这里插入图片描述

思索一会之后,还是放弃了,查看了大哥的wp,顿时懂了。

查看大哥的wp

1、不太一样的地方

首先,我观察网上的wp,他们用的IDA反编译得到的伪代码,跟我的IDA反编译出来的不太一样。

这是网络上的

在这里插入图片描述

在这里插入图片描述

可以观察到,第一个地方就是我的IDA那里,没有v5这个东西,我的是Source,然后第二个地方,就是在if语句里面,他们的v4 = 123,我的v4 = 122.第三个地方是他们的IDA分析if语句里面xyz的时候,是v12,v14,v13,我的是string【3】,string【5】,string【4】.

2、上帝视角分析

其实当我站在上帝视角的时候,整个题已经通了。

我从一开始就忽略了if语句里面给的条件,我看到了string【3】,string【5】,string【4】,是xzy,我也变成了xyz。但是当时没想到,这是输入到弹窗里面的东西,站在上帝视角,可以看到if语句里面的条件是

122xyz,把这个输入到弹窗中。

在这里插入图片描述

得到flag。

知道flag之后,再来分析这个代码,

在这里插入图片描述

这里可以看到,v4 = 122;而value = v4 + 1;也就是value = 123,而且这个itoa函数,就是将字符串转为整型数的,value是欲转换的数据,目标是Source,也就是Source = 123;然后拼接字符

在这里插入图片描述

也就是flag{123_Buff3r_03rf|0w},就得到了flag了。

总结

这个题最关键的地方,if语句里面的条件,就能得到flag。自己为什么不会做。

第一,Source是关键,itoa函数,当时也没注意value,导致卡在了Source,value = v4 +1 跟if语句里面的v4 = 122;没连接起来,导致value这里脱节,Source就跟着脱节。这里脱节之后,想法就到了v4 上面去了,一开始以为关键之处在v4 = atoi(String)这个地方,跟进之后,也确实有类似加密的代码。还准备分析一波。

其实还是自己想法简单了,题做的少了。继续加油。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值