只要不动感情就是金刚芭比。
Magical Categories
check-in
网络与信息安全领域专项赛2019
题目只有一句话:I'm gamectf.com, I love TXT.
看到这东西的时候我一脸懵逼啊🙃这是个啥??试着去看了一下gamectf.com但是压根进不去,,后来有大兄弟跟我说这是DNS查询…
1 | dig -t txt gamectf.com |
直接就能看到flag- -

clemency
第三届上海市大学生网络安全大赛
给了flag.enc和clemency.bin。窝不会,好像是说把输出内容从9bit解码到8bit。
solution.py:
1 | f=open("./flag.enc","r") |
flag{I_love_cLEMENCy,so_I_want_to_share_it_with_you}
Bubble
第二届广东省强网杯线上赛2017
flag.enc:
1 | xinik-samak-luvag-hutaf-fysil-notok-mepek-vanyh-zipef-hilok-detok-damif-cusol-fezyx |
solution.py:
1 | from bubblepy import BubbleBabble |
flag{Ev3ry7hing_i5_bubb13s}
要想会,先学会
将pcap打开,TCP没找到有用的信息,注意到ICMP,长度是变化的,有点奇怪 - -

solution.py:
1 | a=[144,150,139,145,165,120,139,91,160,93,167,70] |
flag{Na1v3}
Random
第二届广东省强网杯线上赛2017
题目给了encrypt.pyo和flag.enc两个文件,直接使用uncompyle6反编译encrypt.pyo文件:
1 | uncompyle6 encrypt.pyo > encrypt.py |
encrypt.py:
1 | # uncompyle6 version 3.4.0 |
solution.py:
1 | from random import randint |
flag{ThisRandomIsNotSafe}
Photo Steganography
亚瑟西
网络与信息安全领域专项赛2019
题目给了一个加密过的压缩包,看都没看直接爆破,全数字不对,那就全字母试试 - -

此外,直接用十六进制分析工具打开,文件最后就能看到password…

解密后是一个图片,图片末尾有一堆看起来像是加密过的东东,但我不知道这是啥加密…

队友说那是ook,直接解密就是flag。但是我用ook解了半天也不行🙃后面我分析的时候才发现问题…当时我用的是UltraEdit,如果从右边的面板开始选择,那么第一排就只能选到4个点 - -

但是如果我从左边面板开始选择,那就能选到5个点 - -

正是因为比赛时我是从右边选择的,少了一个点,所以始终解不出来…
这是为撒子喃为撒子喃为撒子喃
现在来解密一下吧 - -

就能得到flag啦 - -

七代目
网络与信息安全领域专项赛2019
给的是一个gif图片,但是打不开,用十六进制看看,发现头部不对劲啊,是个PNG- -

那就改成GIF吧 - -

改好之后图片就能正常显示了。用Stegsolve看一下每一帧,但是都没啥特别的。看一下每一帧的时间片 - -

Look,第7帧和其他帧不一样,应该有猫腻,那就分离出来,然后切换一下通道看看 - -

Compression Packet
ReCreators
i春秋 第二届春秋欢乐赛
题目给了一个无后缀的文件,file看一下 - -

是虚拟机VMware创建的虚拟硬盘格式,后缀名应该是.vmdk。更改后缀名后解压,可以得到一个misc.mp4 - -

binwalk -e提取一下,在/_misc.mp4.extracted/word/document.xml中会看到三段可疑数字 - -

用Editor打开,搜索一下344134,能看到全部的内容,是这三段数字拼接起来的 - -

把这段数字HexDecode两次,Base32解码三次,Base64解码两次,HexDecode一次,Base32解码一次,Base64解码两次,就是flag - -

CryMisc
i春秋 第二届春秋欢乐赛
这道题对我来说偏hard,因为我密码学学得不太好,而且没学过python,写脚本有点困难(啊我好菜啊)。
CryMisc.zip压缩包中有一个crypto.zip和一个jiami.py;crypto.zip是加密过的,里面有一个gogogo.zip和jiami.py。所以题目的意思是CryMisc.zip中的jiami.py应该和crypto.zip中的jiami.py是一样的,利用这个条件就可以通过明文攻击得到crypto.zip压缩包的密码。
什么是明文攻击呢?
如果我们已经拥有加密的压缩包中的某一个文件,而同一个压缩包中的所有文件都是使用同一个密钥进行加密的,所以就可以通过这个已知文件去查找密钥。
常用的明文攻击软件有
ARCHPR或者pkcrack。这里我用ARCHPR。
先将jiami.py压缩成压缩包。
这里需要注意的是,需要使用
WinRar进行压缩,并且类型必须是zip。如果使用
360压缩的话,,解不粗来的,,
选择明文攻击,导入这两个压缩包之后点击开始。先进行搜索密钥,找到匹配的密钥后会进行攻击。我们在找到密钥的时候就可以停止了,然后点击确定导出解密的压缩包crypto_decrypted.zip- -

gogogo解压后是三个文件,AESencrypt.py内容如下:
1 | # -*- coding:utf8 -*- |
意思就是RSA.encrypt是对key RSA加密后的内容,AES.encrypt中是先AES加密然后把key RSA加密的结果。
首先使用yafu将n分解得到p和q,利用gmpy2可以解出d。

脚本如下:
1 | from Crypto.Cipher import AES |
跑一下,可以得到key为copy_white_key,以及next.zip。encrypt.py内容如下 - -
1 | # -*- coding:utf8 -*- |
它将flag.jpg拆成了两部分,分别使用了base16decode。所以我们将其合并:
1 | from base64 import * |
还原出了flag.jpg。
讲道理我还是觉得前面的过程好复杂…
对于这个flag.jpg呢,binwalk了一下 - -

放到010Editor里面愣是没找到哪里有藏东西,原来是藏了一个PSD文件 - -

将其导出然后用Photoshop打开 - -

这个flag当然是假的啦,你见过中文的flag吗???
还记得前面解出的key是copy_white_key吗…这里需要把背景图层拖出来,换一下通道,就会得到一张二维码,扫描就是flag了。☺
还是想说,这尼玛Crypto和Misc结合的题目都好难啊😭
Traffic Analysis
可恶的黑客
题目给了一个pcap流量包,用Wireshark打开。我先试着搜索了一下flag,然后看到有个flAg.txt(虽然没有什么卵用) - -

注意text data,这句话的内容是:我的支付宝账号(count打错了吧…)是blablabla,当你支付后,flag.txt会出现在这个菜刀里。看起来像是一个(英语不好的)黑客和用户在对话,那我们追踪一下TCP流看一下 - -

从第六条流开始,末尾就是双方对话的内容。
这个when my flag是认真的吗…
在25流的时候,黑客告诉对方,去看hnt.txt - -
去查找一下hnt.txt中的内容,看到了一串东西 - -

这是Unicode转义后的结果,我们只需要将其转回字符串就行了,Python大法好啊:
1 | import lxml.html |
流量分析
第三届上海市大学生网络安全大赛
文件中包含了TCP,UDP,ICMPv6,DNS,TLS等协议,http对象不能导出。还是先搜索了一下字符串flag,发现了flag.txt和flag.zip等。然后追踪一下TCP流,在Stream38和Stream44分别有一个flag.zip,先导出来看看,都是加密的,把0900改成0000也不能打开。
Stream42的内容为 - -
Steam55的内容为 - -
有没有发现多了一个key.log哇,在Stream58 - -

点开协议首选项管理器 - -

给SSL协议导入刚才发现的key.log - -

这样一来,http对象可见了 - -

Packet8005的大小单位是kb,其他文件都是bytes,说明这个zip文件有东西,那就保存下来研究研究。解压之后是2.mp3。用Audacity打开看看,最后面那里看起来像是脱节的 - -

其实就算听一下也会发现,后面全是杂音。所以切换一下频谱图看看,啥都看不到 - -

为什么呢,因为拉得太高了,只显示了下面的…鼠标放在左边那里,缩小一点,就能看到key了 - -

拿这个key去解密之前的某个压缩包,就能得到flag。
