安洵杯misc全wp

密码学 爆破

SECRET是不知道的

flag是md5(SECRET).hexdigest()

已知部分flag为

1
d0g3{71b2b5616**2a4639**7d979**de964c}

cipher是sha256加密后的flag,其摘要为

0596d989a2938e16bcc5d6f89ce709ad9f64d36316ab80408cb6b89b3d7f064a

现在不知道secret。

str1=”71b2b5616”

str2=”2a4639”

str3=”7d979”

str4=”de964c”

str1 2 3 4 之间分别有两位不知道 爆破的话需要爆破16^6次。

直接爆破

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import  hashlib
broken_flag= '71b2b5616**2a4639**7d979**de964c'
str1="d0g3{71b2b5616"
str2="2a4639"
str3="7d979"
str4="de964c}"
cipher='0596d989a2938e16bcc5d6f89ce709ad9f64d36316ab80408cb6b89b3d7f064a'
def getdigest(content):
return hashlib.sha256(content).hexdigest()
alphabet="1234567890abcdef"
for a in alphabet:
for b in alphabet:
for c in alphabet:
for d in alphabet:
for e in alphabet:
for f in alphabet:
string=str1+a+b+str2+c+d+str3+e+f+str4
if getdigest(string)==cipher:
print string

misc

签到

扫码套娃,然后得到一个flag.docx,里面一串乱码,而且公众号也提示了不是emojidecode,但是这玩意除了emojidecode还能是啥?

因为我的word2016无法显示emoji,然后我换成rar解压,在xml里面看到了emoji,放到在线解密工具即可。(师傅们直接复制过去就完事了)

王牌特工

这道题一开始没啥思路,然后file看一下是ext3格式。网上搜了一篇教程就差不多出来了。

https://blog.ihomura.cn/2018/08/03/WriteUp-ext3-%E6%96%87%E4%BB%B6%E6%81%A2%E5%A4%8D-HZ-file/

工具:fsstat,ext3grep,veracrypt。

装ext3grep的时候,报错了按照网上说的做增添一些东西,我这还会报错,把最后报错的那一行注释掉就完事儿了。

首先使用fsstat看镜像信息。

fsstat findme

其中root directory比较重要(我也不知道为什么)

接下来使用ext3grep查看文件信息。

ext3grep –inode 2 findme

恢复这个东西

ext3grep –restore-file .coolboy.swp findme

vim -r .coolboy.swp

新建一个目录/root/coolboy 恢复完会放到这里面,base64解码后的内容为:

1
真的密码:this_is_a_true_key

用这个密码使用veracrypt去挂载flagbox,就可以获得flag。

misc3

一开始是hardzip,有个密码1,看文件比较短尝试CRC32爆破,爆破完的密码拼起来就是easyzip的解压密码。

解压下来easyzip,

通过伪加密拿到redeme.txt,尝试明文攻击。

这里需要注意的是,使用明文攻击需要保证待破解压缩包里只有一个文件,也就是已知文件。因为这里面有一个伪加密,其他文件的压缩算法可能与已知文件的不一致,所以为了保证顺利进行,需要将其他文件删除(这道题所需要,其他情况下如果加密方式都一样的话就不用删除。)

misc4

npmtxt打开一看啥也不懂,010editor打开一看有看不懂的东西,搜了搜16进制慢慢搜就搜到了0宽隐写。

把那一串复制到https://yuanfux.github.io/zero-width-web/

decode就可以获得解压密码

RealV1siBle

打开是张图,silenteye一把梭出来flag。

总结

这次比赛觉得web比较难,ssti没做出来比较上心。最近打算深度学习ssti相关内容,争取下次做出来!