只要不动感情就是金刚芭比。
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。