首页
社区
课程
招聘
[原创]CTF2018第十五题分析(qwertyaa)
发表于: 2018-7-14 16:59 2971

[原创]CTF2018第十五题分析(qwertyaa)

2018-7-14 16:59
2971

这道题是一种智能设备的题,以前没见过,所以这些内容我都得摸索一遍。以下是我摸索的结果:

这个程序main函数不知为何F5后内容残缺,不过可以动态调试来了解它,也可以将main函数undefine后分段视为函数,进行分析。

首先它要输入一个字符串,然后做一系列变换后bin2hex并与一个字符串比对。

变换函数如下:

这里的hexify*bitConv*中不考虑字符串的不同的话就是互为逆运算的,它们将out信息的每半byte按一定规则进行置换后分别进行bin2hexhex2bin

xorMix如下所示:

前一循环内通过三次异或来交换内容,最终使得整个串翻转,后面一个使得每一位异或上前一位被异或后的值来加密,只需要倒着异或一遍就可以解密。

上述操作都是可逆的,所以我们可以写个程序来实现反向计算。

最终我们得到了Key:2018ctf0520pediy1314yyp

输入到程序中可以出现flag:you got it [B1732120572455BAFD30F062F9C49A8A996A8A9DDB4283],其中括号中的内容即为flag。这个内容是将输入内容通过如下函数变换后再通过上述几种变换得来的。

接下来的you have a chance to exploit it:会将读入内容hex2bin的结果xorMix一次,将所得串作为启动"/bin/busybox"的参数,这个类似于GetShell了。

 

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2018-8-15 21:48 被qwertyaa编辑 ,原因: 补充
收藏
免费 2
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//