学了一个月的菜鸡,第一次打ctf比赛,感觉自己实在太菜了,总结总结经验。
Web
跟着队友混,队友Web贼强,Web全AK.
CRYPTO
弯弯曲曲的路
不合格的pwn手竟然拿到密码题的一血。。。
题目描述:一只古典的蓝鲨从一条路的尽头上下上下上的走过了弯弯曲曲的小路上,并且经过了5棵树还有5个银行。
打开下载的文件,文件名为zip格式提示用zip格式打开解压缩。
根据题目描述,应该是5组,每组5个
分组后仔细观察,发现flag是交叉式的。
ISCTF{Welc0nne_@To_I5CTF}
rsa
这道题做了半天没做出来,用了RSAtools失败了,用知乎上一位大神的方法做出来是一堆奇怪的东西
转载自知乎--CTF---RSA解密学习指南(二) - 醉清风的文章 - 知乎 https://zhuanlan.zhihu.com/p/76017554
ANDROID
猜数字
打开app发现做题要做很久。。用ida打开,找到了分散的flag
Reverse
简单的re
ida打开,发现一个奇怪的函数叫catflag,点进去找到flag
Reverse-Easy_JAR
这道题一开始摸不着头脑为啥是jar,后来知道还有个逆向叫java逆向。用java逆向工具打开伪代码即可得到flag。
MISC
女神的嘲讽
Ook解码
Brainfuck/Ook! Obfuscation/Encoding [splitbrain.org]在线Ook解码网站
看上去应该是base64解码,
你下载的真的是图片吗?
解压后记事本打开
发现有个文件叫I_am_here,PS打开啥也没找到,上网搜了搜尝试用网上的方法
需要安装binwalk 和foremost
sudo apt install binwalk
binwalk跑一下发现多个图片
binwalk 文件名
foremost
sudo apt install foremost
用法和binwalk相同,分立后得到一张迪迦奥特曼的照片,上有flag
Misc签到
base64解码
我裂开了
用PS工具合并图层,得到flag
简单图片隐写术
txt文本文档打开,在末尾发现flag
登录流量分析
这道题要用到wireshark分析pcapng文件,追踪http流,从中寻找得到flag
easy_osint
百度识图解一下,找到一个地方叫金碧广场。。
Welcome To ISCTF World
我的世界打开。。。找到flag
PWN
作为一个菜鸡pwner,这次比赛让我意识到了自己的pwn有多菜,pwn门槛之高,还有pwn输出在一个队伍中的重要作用。
好吧我菜,我只打出来2道题目
杰哥的nc
传入/bin/sh命令
这里的scanf("%s,&cmd")与scanf("%s,cmd")不同,前者是取地址,所以需要的就是把/bin/sh命令写入地址然后执行。
救救小肥鲨吧
32位IDA打开help_my_shark,找到main函数
main函数中的func函数调用了-559038737这个参数
打开func函数
gets函数是很常见的栈溢出漏洞,函数调用结束时返回的result值,决定了是否能 控制靶机
很明显func调用的参数和返回system命令需要的a1是明显不同的,点开a1发现a1的位置在栈的末尾,也就是说可以通过栈溢出覆盖变量的方式解决
这里s表示栈基址,r表示函数返回地址。
需要覆盖arg_0的话,偏移量为48.(0x08+0x28)
这里吸取了一个教训,发现逐行输入不是很好用,以后要学会用编译器写脚本
得到flag。
后面的几道题,有一道是canary绕过,不会。。。。
总结一下自己pwn的能力还是太差,首先要加强自己逆向程序的动力,自己对于静态分析和动态调试的能力还不是很强,还有就是栈的结构和函数调用过程不是很懂,下一步要做的就是一个是学好pwn的知识,多学学ctfwiki\《汇编语言》《程序员的自我修养》这几本书,关键还是在于把基础打牢,另外reverse的基础也不能丢掉。
总结一下这次比赛,jeff的web很强,我的pwn还是不是很好。虽然自己很菜,但是这次比赛让我更加了解了ctf,感受到了ctf的乐趣,还能看出自己有哪些不足,往后的日子要继续加油。