一、this_is_flag
直接告诉flag的格式:
flag{th1s_!s_a_d4m0_4la9} (提交即可)
二、pdf
发现是一张.pdf为后缀的图片
方法一:在线pdf转word:
https://app.xunjiepdf.com/pdf2word/
然后移开图片得到flag
方法二:将pdf转为txt就看到flag(kali中,无网环境/比赛环境)
代码语言:javascript复制pdftotext ad00be3652ac4301a71dedd2708f78b8.pdf 1.txt
cat 1.txt
flag{security_through_obscurity}
三、如来十三掌
与佛论禅解密
再用进行rot13解密
(MzkuM3gvMUAwnzuvn3cgozMlMTuvqzAenJchMUAeqzWenzEmLJW9)
得到
ZmxhZ3tiZHNjamhia3ptbmZyZGhidmNraWpuZHNrdmJramRzYWJ9
再进行base64解密,得到
flag{bdscjhbkzmnfrdhbvckijndskvbkjdsab}
四、give_you_flag
观察gif动画,发现有一帧有一个残缺的二维码
发现二维码少了三个角,用mspaint覆盖
得到
flag{e7d478cf6b915f50ab1277f78502a2c5}
五、坚持60s
是玩一个游戏
用jd-gui-windows-1.6.6打开源码找flag
flag{RGFqaURhbGlfSmlud2FuQ2hpamk=}
发现可能有加密,再base64解密,得到
flag{DajiDali_JinwanChiji}
六、gif
下载下来一个zip压缩包,104张黑白图片,像极了二进制的0和1,二进制转十六进制?八个一组,大概13个(一个字母一个字节,一个字节八位)
法一:
一个一个手动来(黑白为01或10)
思考:八个一组,大概13个,二进制转ascii,第一组为f,那么为01100110,也就是说,白为0,黑为1
flag为flag{FuN_giF}
法二:脚本跑(借鉴大佬的脚本)
flag为flag{FuN_giF}
七、掀桌子
八、ext3
法一:
winhex打开,发现有flag.txt
解压该文件,得到base64加密的flag
flag为flag{sajbcibzskjjcnbhsbvcjbjszcszbkzj}
法二:
mount 挂载,找到flag,base64解密
九、stegano
复制所有内容到txt中,发现有AB一串字符,A = . B = -
代码语言:javascript复制-.-. --- -. --. .-. .- - ..- .-.. .- - .. --- -. ... --..-- ..-. .-.. .- --. ---... .---- -. ...- .---- ..... .---- -... .-.. ...-- -- ...-- ..... ..... ....- --. ...--
代码语言:javascript复制CONGRATULATIONSFLAG1NV151BL3M3554G3
即flag{1NV151BL3M3554G3}
十、SimpleRAR
直接打开,发现有flag.txt,内容是flag不在这
winhex打开,发现有png的字样
将A8 3C 7A 修改为 A8 3C 74
保存后解压,再把sercet.png丢到winhex里发现文件头为gif图,将图片后缀名改为.gif
将二维码补全,扫码得到
flag{yanji4n_bu_we1shi}
十一、base64stego
下载下来,表面看起来无法解密
搜索50 4B 01 02 ,把第九位,第十位改为0。保存,成功解压出stego.txt。
代码语言:javascript复制# -*- coding: cp936 -*-
b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 /'
with open('D:desktopstego.txt', 'rb') as f:
bin_str = ''
for line in f.readlines():
stegb64 = ''.join(line.split())
rowb64 = ''.join(stegb64.decode('base64').encode('base64').split())
offset = abs(b64chars.index(stegb64.replace('=','')[-1])-b64chars.index(rowb64.replace('=','')[-1]))
equalnum = stegb64.count('=') #no equalnum no offset
if equalnum:
bin_str = bin(offset)[2:].zfill(equalnum * 2)
print ''.join([chr(int(bin_str[i:i 8], 2)) for i in xrange(0, len(bin_str), 8)]) #8 位一组
得到
flag{Base_sixty_four_point_five}
十二、功夫再高也怕菜刀
下载下来是一个wireshark的pcapng文件
使用wireshark打开流量包,查找flag,选择第1150个,右键,追踪流 -> TCP 流
从 FFD8FF 开始到 FFD9 复制出来,保存为jpg格式,打开图片
代码语言:javascript复制flag{Th1s_1s_p4sswd_!!!}
提交flag不对,查看writeup发现没有加密的文件,只是一个pcapng,可能平台的文件有问题。 (可以看平台的writeup)