前言

此文档中收录了一些平时练习做的Misc&Web,我会尽可能把wp写的更加详细一点,但是重复知识点不会在每个题出现(具体看我啥时候能记住),目前不打算再创新文档更新打的比赛,主要原因是太菜了有时候累死累活只能做一个题,所以大部分做过的题都会在这里.

Misc

1.壁纸(PCTF)

首先打开给的题目附件解压后是一个png图片,拖入010 editor查看文件头和文件尾。(png图片文件头前8个字节固定为:89 50 4E 47 0D 0A 1A 0A,其中各个字节对应含义为89:非 ASCII 字节,用于检测传输错误,50 4E 47:ASCII:”PNG”,0D 0A:Windows 换行符,1A:DOS 文件结束符,0A:Unix换行符。PNG 并不是简单的“固定文件尾字节”,而是以一个IEND数据块作为结束标志。IEND 块结构(共 12 字1节):00 00 00 00:数据区长度为 0,49 45 4E 44:结束块类型,AE 42 60 82(CRC):校验码。)
壁纸原图
可以发现在结束块以后还有很多内容,其中有flag.txt,可以联想这一块是去掉了文件头的压缩文件,但是我们不知道这是什么压缩,所以不妨尝试加上zip,rar,7z头文件。(ZIP 其实有多种“头”,取决于结构位置,但最常见的是本地文件头(Local File Header):50 4B 03 04,而空zip压缩文件一般开头为50 4B 05 06。而rar有两个版本分别为旧版本rar4和新版本rar5,但其实区别不算大,rar4:52 61 72 21 1A 07 00,rar5:52 61 72 21 1A 07 01 00。最后是7z:37 7A BC AF 27 1C,7-zip的文件头非常固定。)
010截图
最后对比发现文件头其实是rar5,补全以后保存,更改后缀为.rar,但是这个压缩包是加密的,翻看注释得到提示:六位数字。属于弱密码,使用john-bleeding-jumbo和hashcat来破解。(官方wp中出题人用的是Advanced Archive Password Recovery进行爆破,但是尝试了以后发现Archive识别不到加密,显示不是被加密的压缩包。原因目前不太清楚。)
win+R输入cmd,enter进入后再输入wsl,先用口令’cd /home/b1nb1n/john-bleeding-jumbo/run’转到john,再用命令’cp /mnt/c/Users/25164/Desktop/wallpaper.rar .’,把压缩文件复制到wsl里(直接拖到john-bleeding-jumbo的run目录里头也可以。),最后用口令’./rar2john wallpaper.rar > hash.txt’,生成hash.txt,(注意生成的hash.txt文件中格式例如’wallpaper.rar:$rar5$16$5bca7d2ecdabd1e2766e8300fb2c1115$15$63801f140d0874d7b98ec3ba8e0ffc97$8$3488087b38841d6f’,记得删掉最前头的“wallpaper.rar:”,不然hashcat识别不了。)
到这john的任务就完成了,接下来需要把生成的hash.txt拖到hashcat目录下,然后在终端先输入’hashcat.exe -m 13000 -a 3 hash.txt ?d?d?d?d?d?d’开始破解,得到压缩包密码:584716。
压缩包密码
用密码打开压缩包后下滑到最底部得到flag:PCTF{s0met1mes_ther3_1s_n0_m@gic_number}
flag

2.依旧物理作业(PCTF)

下载附件发现压缩包里是一个word文档,打开发现里头是一堆乱码,但是因为word文档的本质是zip压缩文件,(.docx = ZIP 容器 + XML 描述 + 资源文件。)所以尝试用7z打开,同时创建一个新的word文档,在里头随便打几个字,也用7z打开,打开word文档,做一下对比
对比
发现是document.xml被改成word.xml,改回去以后就可以正常打开了。大卡司以后可以看到后头跟了很多空白的东西,复制到VS code里看看。
内容
内容
发现后半部分由空格,TAB组成,回车作为分隔,不难想到摩斯密码,于是用VS code中的替换,按ctrl+H,把空格替换成.,把TAB替换成-,最后用/替换回车得到.–./-.-./-/..-./—-.–/-.–/—/..-/..–.-/…./.-/…-/./..–.-/–./—/.-../-.././-././-.–/./…/—–.-/
(记得开启正则,也就是.*按钮,不然替换不了),把这段拖到随波逐流里直接一把梭。得到flag:PCTF{YOU_HAVE_GOLDENEYES}
flag