查看: 648|回复: 0

[Reverse] UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

[复制链接]

6

主题

15

帖子

3

精华

高级会员

Rank: 12Rank: 12Rank: 12

学币
56
荣耀
0
rank
778
违规
0
发表于 2020-7-21 20:31:17 | 显示全部楼层 |阅读模式

相关题目:

♦ unctf_easy_Maze

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

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

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

根据题目名字和运行过程来看,应该是个迷宫,要走出去。
放到ida64分析下

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze
分析了下Step_0,Step_1和Step_2可知,0和1是对第一张图片的数字,也就是迷宫进行处理的算法。
由于本想通过写脚本处理来得到迷宫地图,但是由于太过复杂想偷点懒,看了下其他的wp:https://www.xuenixiang.com/thread-2054-1-1.html
学到了一个骚操作,让程序运行起来,帮我们运算迷宫的加工算法,再去找迷宫的地图的数据,省去了写复杂脚本的时间。所以这里会用到ida的动态分析。
ida动态分析操作如下
我这里使用kali作为服务器来远程debug

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

这里的路径填写虚拟机里的路径,要把所要调试的文件传到虚拟机对应的路径里
找到ida的目录,打开dbgsrv,由于所要调试的文件是64位,所以远程debug的虚拟机也要是64位,将dbgsrv里的linux_server64传进kali
然后设置下虚拟机的iptables配置
iptables -A INPUT -p tcp --dport 23946 -j ACCEPT
然后再做下图操作

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

然后重启下,使得配置生效,这是土方法,也可以下载ufw,需要的请自行百度。
之后运行linux_server64

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze
切换成如图所示的状态,否则断点无法生效

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze
再调试之前在Step_2设置一个断点

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze
然后按下F9进行调试,IDA的动态和OD差不多,F7进入Step_2函数里
使用F7进来可以看到a1的地址

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

然后在hex-view1里找到相应的地址

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze
每隔4个就是迷宫的数据,找齐49个即可
这里由于查找太不方便直接附上迷宫
1001111
1011001
1110111
0001100
1111000
1000111
1111101
经过尝试之后得知迷宫起点为左上角,终点为右下角,wasd控制方向
在输入前之后记得打开

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze

UNCTF_2019高校联合招新赛 _Reverse_unctf_easy_Maze
得到UNCTF{ssddwdwdddssaasasaaassddddwdds}

温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的最好奖励,还可以获得学币奖励,请尊重作者的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。
学逆向论坛-免费的逆向学习论坛
微信公众号
快速回复 返回顶部 返回列表