DASCTF{welc0m3_t0_9C51s_2021}
使用Stegsolve打开调整通道可以发现藏有flag;但是被干扰倒是无法看清
搜索引擎查阅资料发现题目这里指的是一种叫YCrCb
颜色编码模型
参考[ByteCTF2020]Hardcore Watermark 01
:https://bytectf.feishu.cn/docs/doccnqzpGCWH1hkDf5ljGdjOJYg
from cv2 import *
img = cv2.imread('yusa.png')
cv_color = cv2.cvtColor(img, cv2.COLOR_BGR2YCrCb)
cv2.imwrite('flag.png', cv_color)
DASCTF{2947b683036d49e5681f83f7bc3fbb34}
volatility -f Yusa-PC.raw --profile=Win7SP1x64 psxview
wab.exe
:是Windows操作系统自带的程序,用于储存地址薄、联系人和Email地址。用以支持类似Outlook之类的程序。StikyNot.exe
:Windows便签程序首先还是先来看一下五个彩蛋吧(虽然没啥用)
>>> from base64 import *from base64 import *
>>> b64decode('eXVzYeWnkOWnkOacieWlveWkmuWlveWkmueahOWwj+Woh+Wmu++8jOa4o+eUtw==').decode('utf-8')
'yusa姐姐有好多好多的小娇妻,渣男'
egg5
egg5.zip
有密码,密码在截屏中
th1s_1s_3gg5_k3y
彩蛋看完了,开始做题
volatility -f Yusa-PC.raw --profile=Win7SP1x64 filescan | grep -E '.zip$|.rar$|.7z$'
调用过StikyNot.exe
,尝试寻找snt
文件
导出文件,使用win7的便签去加载这个文件
PS: 经测试,Win10也可以这样加载
位置:C:\Users\xxx\AppData\Roaming\Microsoft\Sticky Notes\StickyNotes.snt
PS: 可能找不到这个Sticky Notes
文件夹,可以开启一个临时便签之后即可发现有这个文件夹
然后使用我们导出的StickyNotes.snt
替换这里临时生成StickyNotes.snt
即可;然后再次打开便签即可发现线索
key.zip
密码:世界没了心跳
得到exp.py
from PIL import Image
import struct
pic = Image.open('key.bmp')
fp = open('flag', 'rb')
fs = open('Who_am_I', 'wb')
a, b = pic.size
list1 = []
for y in range(b):
for x in range(a):
pixel = pic.getpixel((x, y))
list1.extend([pixel[1], pixel[0], pixel[2], pixel[2], pixel[1], pixel[0]])
data = fp.read()
for i in range(0, len(data)):
fs.write(struct.pack('B', data[i] ^ list1[i % a*b*6]))
fp.close()
fs.close()
需要得出的是flag
文件,Who_am_I.zip
有密码;whoami在这里指的应该是Yusa;
尝试破解Yusa账户的密码,使用Passware Kit 13
得到密码:YusaYusa520
解压得到Who_am_I
Who_am_I
有了,就差key.bmp
文件就可以得到flag
文件了
得到Sakura-didi.zip
,但是还是有密码;继续分析,还有一个线索没有利用到就是wab.exe
联系人文件后缀名为.contact
Yusa.contact
,将这些base64利用在线站解码:https://the-x.cn/zh-cn/base64/
得到一张bmp文件,但是这并不是我们想要的key.bmp
MysteryMan.contact
base32->base64
这是你会用到的key,可以用它打开组织给你的工具。工具命名依照了传统规则。key:820ac92b9f58142bbbc27ca295f1cf48
使用这个key解压Sakura-didi.zip
解密脚本其实参考上面的exp.py
即可,key.bmp
不变,将flag
作为输出,Who_am_I
作为输出即可,换一下位置
from PIL import Image
import struct
pic = Image.open('key.bmp')
fp = open('Who_am_I', 'rb')
fs = open('flag', 'wb')
a, b = pic.size
list1 = []
for y in range(b):
for x in range(a):
pixel = pic.getpixel((x, y))
list1.extend([pixel[1], pixel[0], pixel[2], pixel[2], pixel[1], pixel[0]])
data = fp.read()
for i in range(0, len(data)):
fs.write(struct.pack('B', data[i] ^ list1[i % a*b*6]))
fp.close()
fs.close()
得到的flag
是gif
文件,使用stegsolve
查看每一帧,第10帧能勉强看到flag
DASCTF{c3837c61-77f1-413e-b2e6-3ccbc96df9f4}
python3 dirsearch.py -u "http://b1c34857-a729-4b00-a22a-98323505597c.haomeidehelloworld-ctf.dasctf.com:2333/" -i 200 | grep -v "0B"
扫描过程中发现多次/.idea/dataSources.xml
这个路径,扫出来的完整路径访问都是404
尝试直接访问/.idea/dataSources.xml