Abuei 发表于 2020-7-21 20:31:17

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

本帖最后由 Abuei 于 2020-7-21 21:12 编辑

题目链接:https://www.xuenixiang.com/ctfexercise-competition-221.html
传到kali,运行一下

根据题目名字和运行过程来看,应该是个迷宫,要走出去。
放到ida64分析下分析了下Step_0,Step_1和Step_2可知,0和1是对第一张图片的数字,也就是迷宫进行处理的算法。
由于本想通过写脚本处理来得到迷宫地图,但是由于太过复杂想偷点懒,看了下其他的wp:https://www.xuenixiang.com/thread-2054-1-1.html
学到了一个骚操作,让程序运行起来,帮我们运算迷宫的加工算法,再去找迷宫的地图的数据,省去了写复杂脚本的时间。所以这里会用到ida的动态分析。
ida动态分析操作如下我这里使用kali作为服务器来远程debug
这里的路径填写虚拟机里的路径,要把所要调试的文件传到虚拟机对应的路径里
找到ida的目录,打开dbgsrv,由于所要调试的文件是64位,所以远程debug的虚拟机也要是64位,将dbgsrv里的linux_server64传进kali
然后设置下虚拟机的iptables配置
iptables -A INPUT -p tcp --dport 23946 -j ACCEPT
然后再做下图操作

然后重启下,使得配置生效,这是土方法,也可以下载ufw,需要的请自行百度。
之后运行linux_server64
切换成如图所示的状态,否则断点无法生效https://www.xuenixiang.com/forum.php?mod=image&aid=8124&size=300x300&key=eb8ce3cd644bf409&nocache=yes&type=fixnone再调试之前在Step_2设置一个断点然后按下F9进行调试,IDA的动态和OD差不多,F7进入Step_2函数里
使用F7进来可以看到a1的地址
然后在hex-view1里找到相应的地址每隔4个就是迷宫的数据,找齐49个即可这里由于查找太不方便直接附上迷宫1001111101100111101110001100111100010001111111101经过尝试之后得知迷宫起点为左上角,终点为右下角,wasd控制方向在输入前之后记得打开 得到UNCTF{ssddwdwdddssaasasaaassddddwdds}
页: [1]
查看完整版本: UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze