Th3ee Ciscn 西南赛区分区赛 WriteUP
Web1 签到
源码里的Base64 解密一下
Web2 Code_1
- 用data://伪协议+base64来获取Welcome!
- 然后包含./flag.php即可
payload:?input1=./flag.php&&input2=data://text/plain;base64,V2VsY29tZSE=&&input3=test
Misc1
Misc3 EASYFORENSICS
解压出来的vmem文件,直接用volatility提取数据。
- 过滤flag关键字
yunoon@YunoondeMacBook-Air Misc3 % vol.py -f CTFWindows7-8f09ab24.vmem --profile=Win7SP1x86_23418 filescan | grep flag Volatility Foundation Volatility Framework 2.6.1 0x000000002e8c0880 8 0 RW-r-- \Device\HarddiskVolume2\flag\hint.txt.txt 0x000000002e8f7a58 1 1 R--rw- \Device\HarddiskVolume2\flag 0x000000002e90f038 8 0 RW-r-- \Device\HarddiskVolume2\fffffflag\baidunetdisk.txt 0x000000002e96ac80 2 0 RW-rw- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Recent\fffffflag.lnk 0x000000002f38b038 1 1 R--rw- \Device\HarddiskVolume2\fffffflag 0x000000002f39f038 2 0 RW-rw- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Recent\flag.lnk 0x000000002f3b10d8 2 1 R--rwd \Device\HarddiskVolume2\fffffflag 0x000000002f8a4298 2 1 R--rwd \Device\HarddiskVolume2\fffffflag
- 过滤xiaoming和txt关键字
yunoon@YunoondeMacBook-Air Misc3 % vol.py -f CTFWindows7-8f09ab24.vmem --profile=Win7SP1x86_23418 filescan | grep xiaoming | grep .txt Volatility Foundation Volatility Framework 2.6.1 0x000000002bf5f110 2 0 -W---- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Cookies\xiaoming@ieonline.microsoft[1].txt 0x000000002e967e48 2 0 -W---- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Cookies\Low\xiaoming@hm.baidu[1].txt 0x000000002e973b40 2 0 RW-rw- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Recent\zippasswd.txt.lnk 0x000000002e9fe628 8 0 RW---- \Device\HarddiskVolume2\Users\xiaoming\Desktop\zippasswd.txt 0x000000002ea9ad90 8 0 -W---- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Cookies\Low\xiaoming@cmd5[1].txt 0x000000002ebc2878 2 0 RW-rw- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Recent\hint.txt.lnk 0x000000002f34f210 8 0 -W---- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Cookies\Low\xiaoming@bing[2].txt 0x000000002f398c98 1 1 -W-rw- \Device\HarddiskVolume2\Users\xiaoming\AppData\Local\Temp\FXSAPIDebugLogFile.txt 0x000000002f7d1480 2 0 RW-rw- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Recent\baidunewdisk.txt.lnk 0x000000002f82bb78 8 0 -W---- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Cookies\Low\xiaoming@msn[2].txt 0x000000002f8c9cb8 8 0 -W---- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Cookies\Low\xiaoming@sojson[1].txt 0x000000002f9c0038 8 0 -W-rw- \Device\HarddiskVolume2\Users\xiaoming\AppData\Local\Microsoft\Internet Explorer\brndlog.txt 0x000000002f9cfaf8 2 0 -W---- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Cookies\Low\xiaoming@cn.bing[2].txt 0x000000002f9f0af0 2 0 -W---- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Cookies\Low\xiaoming@www.bing[1].txt 0x000000002fb0d500 8 0 -W-rwd \Device\HarddiskVolume2\Users\xiaoming\AppData\Local\Microsoft\Windows\Temporary Internet Files\Low\Content.IE5\5G8FOASY\eb-c31c9a-3cb8f63e[1].txt 0x000000002fb1a588 8 0 -W---- \Device\HarddiskVolume2\Users\xiaoming\AppData\Roaming\Microsoft\Windows\Cookies\xiaoming@microsoft[1].txt
- 提取数据
yunoon@YunoondeMacBook-Air Misc3 % vol.py -f CTFWindows7-8f09ab24.vmem --profile=Win7SP1x86_23418 dumpfiles -Q 0x000000002e8c0880 --dump-dir=./ Volatility Foundation Volatility Framework 2.6.1 DataSectionObject 0x2e8c0880 None \Device\HarddiskVolume2\flag\hint.txt.txt yunoon@YunoondeMacBook-Air Misc3 % vol.py -f CTFWindows7-8f09ab24.vmem --profile=Win7SP1x86_23418 dumpfiles -Q 0x000000002e90f038 --dump-dir=./ Volatility Foundation Volatility Framework 2.6.1 DataSectionObject 0x2e90f038 None \Device\HarddiskVolume2\fffffflag\baidunetdisk.txt yunoon@YunoondeMacBook-Air Misc3 % vol.py -f CTFWindows7-8f09ab24.vmem --profile=Win7SP1x86_23418 dumpfiles -Q 0x000000002e9fe628 --dump-dir=./
提取出来的文件有
hint.txt.txt
,baidunetdisk.txt
,zippasswd.txt
通过获取到剪贴板的数据
fa5ef7676006afd4748becb7e68b0aed
,可以提取到网盘提取码。yunoon@YunoondeMacBook-Air Misc3 % vol.py -f CTFWindows7-8f09ab24.vmem --profile=Win7SP1x86_23418 clipboard Volatility Foundation Volatility Framework 2.6.1 Session WindowStation Format Handle Object Data ---------- ------------- ------------------ ---------- ---------- -------------------------------------------------- 1 WinSta0 0xc009L 0x124034b 0xff5820a8 1 WinSta0 CF_TEXT 0x0 ---------- 1 WinSta0 CF_UNICODETEXT 0xe0395 0xffb83ee0 fa5ef7676006afd4748becb7e68b0aed 1 WinSta0 0xc013L 0x3101cf 0xff5744f8 1 WinSta0 CF_LOCALE 0x49008b 0xfda0d260 1 WinSta0 CF_OEMTEXT 0x1 ----------
md5解密后,得到为789C
下载获得flag.img文件
将其挂载后得到以下数据
YESYESLookAtme就是我们要找的文件,利用提取到的zippasswd.txt获得其中内容。
zippasswd是hex字符串,可以直接放到16进制编辑器中,发现是PNG文件。
但头文件有问题,对其进行修复,更改文件后缀为png。
获取到qrcode
扫码获取解压码
password_is_passwd
解压得到其中的内容,一共有377个
这里拿到过后开始以为是三维图,画了半天感觉方向错了,是RGB数据。
编写脚本,把每个文件渲染成图片。
from PIL import Image #图片有1600条RGB数据,因此判断为40x40. def render(name): file1 = open(name) im = Image.new("RGB", (40, 40)) for i in range(40): for j in range(40): file = file1.readline() list1 = file.split(" ") im.putpixel((i, j), (int(list1[0]), int(list1[1]), int(list1[2]))) im.save(f"./pic/{name}.png") def main(): # render("1.txt") print(f"=========Is Render Img{i}=============") render(f"{i}.txt") if __name__ == '__main__': main()
获取到图片过后,使用magick+gaps来拼接图片。
377个图片可以推算出只有两种排列方式
for i in range(376): for j in range(377): if i*j == 377: print(i,j) #output: #13 29 #29 13
magick安装
- 直接参考官网即可下载/安装连接
- macOS的
gaps安装
- 直接参考GitHub安装文档 项目GitHub连接
- 直接查看installation
- 可以改requirements.txt,也可以不改,报错改就行。
使用magick来讲分散的图片进行拼接
montage *.txt.png -tile 29x13 -geometry +0+0 flag.png
-tile: 指定长x宽
-geometry geometry preferred tile and border sizes就可以将所有的.txt.png图片拼接成一个29x13的图片
在使用gaps来进行自动拼图就行,安装完毕后,在bin/目录下执行命令即可。
python3 gaps --image=flag.png --size=40
--image: 指定图片
--size: 指定每一块的图像的大小。最终的结果
所以说为什么Misc1的伪flag,是这里的真flag,胖揍出题人。这里的真flag,胖揍出题人。是这里的真flag,胖揍出题人。