misc
1.jack
打开发现是base64编码 然后将flag{进行base64编码
ZmxhZ3t9 然后寻找可得
flag{36d8170f-3263-487d-9f6b-afe422d635fe}
2.常规
打开发现有压缩包
压缩包进行加密了 爆破 发现密码为12345
打开时wireshark流量包 又因为是cap 可以联想到与文件头有关
然后进行搜索 username 中 进行 url解密发现是答案 然后后面password是key{}
一眼看出是flag的模样,再次进行url解密
key{balabala}
3.小苹果
打开
qr扫一下
发现有一串编码,易知为unicode编码
然后解密出来是 羊由大井夫大人王中工
先丢尽随波逐流看一波
发现可能是当铺密码 9158753624
然后将这个图片丢尽随波逐流中 发现有 apple.mp3视频
丢进audacity发现无东西 再丢进mp3steg中
结合9158753624 decode -X -P 9158753624 apple.mp3
然后发现其中的base64编码 进行解码
CTF{xiao_ping_guo}
crypto
1.奇妙的音乐
点开链接
发现有一张图片 和一个加密的压缩包
可以知道是盲文kmdonowg
然后试着将盲文作为密码输入进去打开加密压缩包
发现是一段音频 直接丢尽随波逐流中
CTF{wpei08732?23dz}
2.Try them all
打开
可以知道这是一个加盐的md5值 盐值为5948
字典跑一下易得为
flag{sniper}
3.coppersmith
打开可以发现一段python代码
分析可知是一段经典的rsa
编写脚本可得
发现跑出来的
flag{4e5c8922-3b95-9190-1ed6-1198ce4d8064}
reverse
1.defcamp
在ida中查看
可以知道这一部分是在建立无头结点的链表,链表中一共10个元素。每个元素16字节大小,前4个字节
存储1到10的序号。从第5个字节开始存储序号值+109。
链表采用前插法,qword_601080始终指向链表的头
然后可知是ascill 114 111 116 111 114 115
解码为 robots
2.bin
使⽤IDA加载⼆进制⽂件,打开Strings window查看字符串
通过这些字符串可以看到只有依次掷出3-1-3-3-7就有可能得到flag,但是要随机掷出
这些数字明显不可能,因为其中有个7!为此,需要跟进字符串“[*] You rolled a
three! Good!ˮ引⽤处查看程序的处理逻辑
从图中可以看到,程序通过判断[ebp+var_5C]中的值是否为3进⾏跳转,如果为3则进
⼊右边分⽀,程序继续执⾏;否则,程序跳转⾄loc_40198B提⽰掷出的数字不是3,
游戏结束
理清程序的逻辑后,采⽤最简单的办法控制程序的执⾏路径——修改指令。⾸先,通
过菜单栏中Options/General/Disassembly/Number of opcode bytes设置IDA使其
显⽰指令的机器码。jnz的机器码为75,只需将其改为jz的机器码74。修改⽅法:
Edit/Patch program/Change byte。
通过“[*] You rolled a one! Very nice!ˮ等提⽰信息找到其他⼏处判断语句,使⽤相同
的⽅法修改机器码。但是有两处为near jump,jnz的机器码为0F 85,将其修改为0F84即可。
修改完后Edit/Patch program/Apply patches to input file保存修改后的⽂件,运⾏得到
ebCTF{64ec47ece868ba34a425d90044cd2dec}
3.android01
Jeb打开发现,byte[]=aHR0cDovLzQ1LjMyLjQ3Ljk4
编写脚本
import base64
a=[97, 72, 82, 48, 99, 68, 111, 118, 76, 122, 81, 49, 76, 106, 77, 121, 76, 106, 81, 51, 76, 106, 107, 52]
b=''.join(map(chr,a))
print base64.b64decode(b)
得出
flag{45.32.47.98}