-
-
[原创]CTF2018第十五题分析(qwertyaa)
-
发表于: 2018-7-14 16:59 2971
-
这道题是一种智能设备的题,以前没见过,所以这些内容我都得摸索一遍。以下是我摸索的结果:
这个程序main
函数不知为何F5后内容残缺,不过可以动态调试来了解它,也可以将main
函数undefine后分段视为函数,进行分析。
首先它要输入一个字符串,然后做一系列变换后bin2hex
并与一个字符串比对。
变换函数如下:
这里的hexify*
、bitConv*
中不考虑字符串的不同的话就是互为逆运算的,它们将out
信息的每半byte按一定规则进行置换后分别进行bin2hex
或hex2bin
。
而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编辑
,原因: 补充
赞赏
他的文章
看原图
赞赏
雪币:
留言: