题目:字符逆序执行
下载完附件以后,在linux下checksec一下,注意这里我将文件的名字改为了2,方便操作
可以看出是·64位的文件,使用ida打开
F5反汇编为C
看到有system(a)的命令,是一个关键函数,我们点击进入,双击它就可以进入到这个里面
好极了,就是这个。再来看一下变量command是如何传进去的,左上角箭头,回到历史记录
再分析一下程序,用户的输入被存到了变量a中,a经过fun函数后,传入system函数执行,也就是说,command就是a,也就是用户的输入。 再双击fun看一下,有没有特殊处理。,按下键盘/,可以给代码进行注释
经典的字符串倒置代码,也就是说,它会把你的输入倒过来,即ls->sl ,cat flag->galf tac。
第一次输入sl后有回显出结果,但是再次倒置输入cat flag就没有显示,退出重新输入才会有显示,这里我退出后又输入了galf tac.才显示出了flag的内容