首先感谢ctf平台和各位出题的大佬
其次感谢各位读者,对我的支持( •̀ ω •́ )y 有什么问题和建议可以私聊我
废话不多话开启你们的旅程吧 这个也是我这几天才看 一些见解和思路分享给你们
希望你们在旅途中玩的开心,学的开心✌( •̀ ω •́ )y
杂项签到
![](https://aitechtogether.com/wp-content/uploads/2023/08/21f92464-d1a7-41b1-942e-bdba8b510479.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/3f9b5c45-bc77-4de3-98f7-3ebb0534faa1.webp)
既然是签到就别往复杂想
直接010 搜索ctf
![](https://aitechtogether.com/wp-content/uploads/2023/08/bab5d047-035d-4809-971f-04e697a82cb6.webp)
得到flag
ctfshow{a62b0b55682d81f7f652b26147c49040}
损坏的压缩包
![](https://aitechtogether.com/wp-content/uploads/2023/08/e6fc1707-ea72-48af-aa24-f7b0ecc1e842.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/1a4366be-7053-49e8-a2c7-3309c38965d2.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/884299c2-a5ca-4409-a68f-af726e2441d8.webp)
010查看十六进制发现附件为png图片,修改后缀为png解得flag
ctfshow{e19efe2eb86f10ccd7ca362110903c05}
谜之栅栏
![](https://aitechtogether.com/wp-content/uploads/2023/08/dad59b29-02ee-4460-909e-e6ef51425203.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/cdfe2bb6-e134-4668-a5fd-2672b449d9b5.webp)
这个提示已经很明显了
使用010editor的文件比较功能找到两张图片的十六进制不同点,按顺序互相取一位数或者栅栏2位解得flag
![](https://aitechtogether.com/wp-content/uploads/2023/08/c50e00ac-4919-4e93-a1dd-40be60bbed3f.webp)
010的功能远不如此 多多学习
![](https://aitechtogether.com/wp-content/uploads/2023/08/36ae5c24-fe62-411a-8bb5-c977d1ad316a.webp)
ctfshow{f0a6a0b721cfb949a7fb55ab5d8d210a}
你会数数吗
![](https://aitechtogether.com/wp-content/uploads/2023/08/a7c4ee75-e021-4995-8e14-976000eb1d65.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/4db058e1-b3ed-4017-834b-1a80a957c136.webp)
无后缀拖010里查看源代码
![](https://aitechtogether.com/wp-content/uploads/2023/08/53c04dc1-d443-481d-af09-b74125be2aa8.webp)
一堆乱码
结合题目你会数数吗
想到可能是词频统计
这里还要用到010
工具直方图
![](https://aitechtogether.com/wp-content/uploads/2023/08/a5a0213d-c204-487d-a674-97a3be85a807.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/14ab92d3-d077-481b-9046-694b05a4d3dd.webp)
得到直方图按照计数降序统计字符
![](https://aitechtogether.com/wp-content/uploads/2023/08/1fa979dd-e749-4bcf-be5b-1f13984b2b70.webp)
得到flag
ctfshow{a1b2d3e4g56i7j8k9l0}
这里也可以不使用010使用python
# -*- coding:utf-8 -*-
import re
from collections import Counter
#定义一个函数,用于统计字母的个数
def analyze_letter_count(text):
# 从文本中提取出所有字母
letters = re.findall(r'\S', text)
# 统计所有字母的个数
counter = Counter(letters)
return counter
# 将文本存入变量
# 调用函数分析字母个数
def re_letter(s):
regex = r'\'(.*?)\''
new_string = re.findall(regex,s)
return new_string
text=input("输入文本:")
letter_count = analyze_letter_count(text)
strings=str(letter_count)
#print(letter_count)
print(''.join(re_letter(strings)))
同样最后也可以得到flag
ctfshow{a1b2d3e4g56i7j8k9l0}
你会异或吗
![](https://aitechtogether.com/wp-content/uploads/2023/08/02851ae8-4aad-4d90-ab6f-df5c5bffedd5.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/ed708f67-1031-431e-85d7-a99bd1ecee65.webp)
老规矩010走一遭
![](https://aitechtogether.com/wp-content/uploads/2023/08/46bfbd77-bfbb-4253-ab9b-2a897d2075a2.webp)
乱码一堆
根据题目提示(你会异或吗 神秘数字:0x50)
那我们就图片十六进制值异或十六进制50解得图片
这里还要使用010
全选代码工具十六进制运算二进制异或
![](https://aitechtogether.com/wp-content/uploads/2023/08/59842393-3668-4636-9ab8-df538a24f91d.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/d95c5116-c1dc-4fdd-b5a9-5e652d204aef.webp)
得到完整的png图片
![](https://aitechtogether.com/wp-content/uploads/2023/08/ae39f352-3b10-42e4-b14f-01cc3e5277e9.webp)
保存如下图
![](https://aitechtogether.com/wp-content/uploads/2023/08/df8f95a3-b029-48f5-839c-e7d246b2fdb0.webp)
得到flag
ctfshow{030d0f5073ab4681d30866d1fdf10ab1}
这里同样可以使用python
path = 'misc5.png'
# 新文件路径
new_path = 'new.png'
# 异或运算 def xor(file_path):
# 以二进制读取图片
with open(file_path, 'rb') as f:
data = f.read()
# 十六进制异或
data = bytes([c ^ 0x50 for c in data])
# 写入新的图片
with open(new_path, 'wb') as f:
f.write(data)
# 调用
xor(path)
ctfshow{030d0f5073ab4681d30866d1fdf10ab1}
flag一分为二
![](https://aitechtogether.com/wp-content/uploads/2023/08/1bf68119-87aa-4ab9-92c6-25461d2064a5.webp)
仅仅从标题看,这个题就不可能只有一种隐写方式了
但不要慌,唯一好的一点她是个能正常打开的图了
挺好看的一个图片
![](https://aitechtogether.com/wp-content/uploads/2023/08/c719ff9c-ff03-487a-9193-8c90bff8fb67.webp)
使用StegSlove工具打开
查看file format
![](https://aitechtogether.com/wp-content/uploads/2023/08/7a579301-55e6-4af2-879d-356c0c073cdd.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/d7d4de8e-d0c6-47a3-8f42-14efc135df28.webp)
这时候你就会发现CRC(CRC) Calculated CRC(计算的CRC)不一样
这能证明什么有很大可能图片的高度被修改过
接下就是恢复高度(当然有些题你可以直接将高度调大,但我们是要精通一个题 所以我们可以使用工具。或者脚本找到图片的原始高度)
脚本
#png图片爆破宽高
import zlib
import struct
file = 'miku.png'
fr = open(file,'rb').read()
data = bytearray(fr[12:29])
#crc32key = eval(str(fr[29:33]).replace('\\x','').replace("b'",'0x').replace("'",''))
crc32key = 0x7507b944
#data = bytearray(b'\x49\x48\x44\x52\x00\x00\x01\xF4\x00\x00\x01\xF1\x08\x06\x00\x00\x00')
n = 4095
for w in range(n):
width = bytearray(struct.pack('>i', w))
for h in range(n):
height = bytearray(struct.pack('>i', h))
for x in range(4):
data[x+4] = width[x]
data[x+8] = height[x]
#print(data)
crc32result = zlib.crc32(data)
if crc32result == crc32key:
print(width,height)
print(data)
newpic = bytearray(fr)
for x in range(4):
newpic[x+16] = width[x]
newpic[x+20] = height[x]
# fw = open(file+'.png','wb')
fw = open(file, 'wb')
fw.write(newpic)
fw.close
print("It's done!")
![](https://aitechtogether.com/wp-content/uploads/2023/08/1f37a5d5-614c-410c-934d-3fa274114335.webp)
在010直接改高度就行
![](https://aitechtogether.com/wp-content/uploads/2023/08/8eac86cc-4880-4e91-a50a-eaad85d7c0c1.webp)
工具
链接:https://pan.baidu.com/s/1DHzIfRwb9zkn-qSHAl-1qQ
提取码:lulu
–来自百度网盘超级会员V3的分享
图片直接拖进去就行
![](https://aitechtogether.com/wp-content/uploads/2023/08/aac65b6d-6dec-4f37-9895-0b30de5773fd.webp)
不管那种都可以得到图片的原始高度
![](https://aitechtogether.com/wp-content/uploads/2023/08/923edbaa-7d7f-41ee-86e1-f26c67932001.webp)
SecondP@rTMikumiku~}
后一半找到了
接下来只要找到前一半就行了
首先我们要试试分离lsb隐写之类的
后来发现是盲水印
使用waterMark.exe盲水印工具提取就可以
![](https://aitechtogether.com/wp-content/uploads/2023/08/129d6070-0434-4a94-9459-d2c43e8fd9c3.webp)
得到前一部分
ctfshow{FirstP@RT
最终得到flag
ctfshow{FirstP@RTSecondP@rTMikumiku~}
我是谁??
![](https://aitechtogether.com/wp-content/uploads/2023/08/0b706042-b38c-4b23-823f-e8feb5cec032.webp)
有意思的题目 感兴趣可以尝试
部署实例
![](https://aitechtogether.com/wp-content/uploads/2023/08/18d8440e-d1d1-4c9c-9a1b-65678ade38aa.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/140d034b-d415-4d0d-a0d0-79d49ecbd951.webp)
刚开始还蛮期待的
其实就是找图片
在题目给出的链接里面玩游戏即可,眼睛好的可以快速通关,像我一样菜的需要点时间才能拿到flag。
当然也可以用脚本来做,找到视频的关键帧,然后截取出剪影部分,然后根据剪影在大图里找。
这里提供一个脚本供参考:(官方脚本)
import requests
from lxml import html
import cv2
import numpy as np
import json
url="http://xxxxxxxxxxxxxxxxxxxx.challenge.ctf.show"
sess=requests.session()
all_girl=sess.get(url+'/static/all_girl.png').content
with open('all_girl.png','wb')as f:
f.write(all_girl)
big_pic=cv2.imdecode(np.fromfile('all_girl.png', dtype=np.uint8), cv2.IMREAD_UNCHANGED)
big_pic=big_pic[50:,50:,:]
image_alpha = big_pic[:, :, 3]
mask_img=np.zeros((big_pic.shape[0],big_pic.shape[1]), np.uint8)
mask_img[np.where(image_alpha == 0)] = 255
cv2.imwrite('big.png',mask_img)
def answer_one(sess):
#获取视频文件
response=sess.get(url+'/check')
if 'ctfshow{' in response.text:
print(response.text)
exit(0)
tree=html.fromstring(response.text)
element=tree.xpath('//source[@id="vsource"]')
video_path=element[0].get('src')
video_bin=sess.get(url+video_path).content
with open('Question.mp4','wb')as f:
f.write(video_bin)
#获取有效帧
video = cv2.VideoCapture('Question.mp4')
frame=0
while frame<=55:
res, image = video.read()
frame+=1
#cv2.imwrite('temp.png',image)
video.release()
#获取剪影
image=image[100:400,250:500]
gray_image=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
#cv2.imwrite('gray_image.png',gray_image)
temp = np.zeros((300, 250), np.uint8)
temp[np.where(gray_image>=128)]=255
#去白边
temp = temp[[not np.all(temp[i] == 255) for i in range(temp.shape[0])], :]
temp = temp[:, [not np.all(temp[:, i] == 255) for i in range(temp.shape[1])]]
#缩放至合适大小,肉眼大致判断是1.2倍,不一定准
temp = cv2.resize(temp,None,fx=1.2,fy=1.2)
#查找位置
res =cv2.matchTemplate( mask_img,temp,cv2.TM_CCOEFF_NORMED)
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)
x,y=int(max_loc[0]/192),int(max_loc[1]/288)#为什么是192和288,因为大图去掉标题栏就是1920*2880
guess='ABCDEFGHIJ'[y]+'0123456789'[x]
print(f'guess:{guess}')
#传答案
response=sess.get(url+'/submit?guess='+guess)
r=json.loads(response.text)
if r['result']:
print('guess right!')
return True
else:
print('guess wrong!')
return False
i=1
while i<=31:
print(f'Round:{i}')
if answer_one(sess):
i+=1
else:
i=1
You and me
![](https://aitechtogether.com/wp-content/uploads/2023/08/48f4c557-2b20-439d-8312-fde61212e2b5.webp)
下载解压俩小女孩
![](https://aitechtogether.com/wp-content/uploads/2023/08/09bd0201-4e19-404b-a585-56478057003e.webp)
这一看就知道在干嘛吧
使用BlindWaterMark-master盲水印
盲水印工具下载
python3 bwmforpy3.py decode you.png you_and_me.png wm2.png
![](https://aitechtogether.com/wp-content/uploads/2023/08/6f6ae531-106b-47d3-b9bf-8b1f9b88f197.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/e77c28bd-8137-4598-a458-c804f4257a20.webp)
得到ctfshow{CDEASEFFR8846}
7.1.05
![](https://aitechtogether.com/wp-content/uploads/2023/08/59bcbf61-9c17-48ab-9720-ab71b7d81c14.webp)
解压之后是个SAV的文件
![](https://aitechtogether.com/wp-content/uploads/2023/08/f0879992-82fd-4860-a391-ec7e950359ca.webp)
这种文件不是内存取证就是游戏存档
这里信息非常少只能我们一个一个去找
使用strings检索关键字
strings flagInHere.SAV >4.txt
![](https://aitechtogether.com/wp-content/uploads/2023/08/2e4c0c73-3f12-4384-b859-d20612379ea8.webp)
得到两个重要信息
![](https://aitechtogether.com/wp-content/uploads/2023/08/a96e65c8-1cd9-457c-accc-f18250f6a847.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/da2da3f2-ae6e-43b3-84be-94660e43f7cc.webp)
翻译一下
![](https://aitechtogether.com/wp-content/uploads/2023/08/fb3d0467-45fb-4156-b0cf-03423df4cf0a.webp)
发现数个网址,点击其中一个进行访问:
![](https://aitechtogether.com/wp-content/uploads/2023/08/d2dcbc06-bcfa-4c6e-8ade-71f019bde2ac.webp)
发现无论打开那个都有这张图片直接来个信息搜集
![](https://aitechtogether.com/wp-content/uploads/2023/08/9a6c6197-2d79-4816-91fc-4ae94cad34e3.webp)
果然游戏没错那个文件八成就是游戏存档
在网上搜索游戏,发现游戏版本已经更新到了8.1.18版本。
结合题目中的7.1.05,不难联想到题目希望使用7.1.05版本的游戏来打开存档,所以使用capitalism lab v.7.1.05进行搜索
![](https://aitechtogether.com/wp-content/uploads/2023/08/46db1e25-1eb5-4f84-9d90-8edb8443ecca.webp)
还有另一种方法:这个游戏有中文社群,可以加QQ群754365305然后找管理要。
下载后打开游戏,却不知道如何载入存档?
之前不是使用strings扫描关键字符吗 还有一段信息没有使用
“C:\Users\Administrator\Documents\MyGames\CapitalismLab\SAVE\LONG_001.SAV”,存档文件应该放置在我的文档下的MyGames文件夹中的\CapitalismLab\SAVE\中。然后打开游戏,载入存档
![](https://aitechtogether.com/wp-content/uploads/2023/08/d5aa972a-1744-43bc-ae0d-8941dbbfc615.webp)
加载存档
![](https://aitechtogether.com/wp-content/uploads/2023/08/14bdf183-4472-4ddc-adcb-c01c545c9baa.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/9d68c548-14b6-4a0a-9c0d-27a7d2e1575d.webp)
若载入存档时出错,请关闭所有MOD,并打开所有DLC。
载入存档后如上图所示。这时我们会注意到底下的flag和操作。
long_flag_in_R&D。
R&D的意思是Research&Develop
在游戏中能代表这个含义的,是研发中心。因此我们需要找到研发中心的秘密
![](https://aitechtogether.com/wp-content/uploads/2023/08/32506a39-97f9-435b-97fa-3685ad5e10ef.webp)
可以发现每个研发中心的研发部门的数量都不一样,将其按照从左下向右上,再行扫描的方式,可以得到这么一串数字:
9794598612147726669494087179782678475623253058262173164497949649813569030779924086502049160804再结合提示
![](https://aitechtogether.com/wp-content/uploads/2023/08/7a201cea-a40f-4dbe-8d63-6866acfb7ced.webp)
long_to_bytes是一个常用于RSA的函数,用于将数字转成字节,来试一下:
>>> from Crypto.Util.number import long_to_bytes
>>> long _ to_bytes
(9794598612147726669494087179782678475623253058262173164497949649813569030779924086502049160804 )b ” \ X01 , x84 ( xfa , xe7 ] FI & x84 ? \ \ \ \ \ \ \ \ \ \ xc1x08\ x03 / \ x9auo \ xc2;ek \ x9ed’
失败了,那有没有可能是被逆序了?
>>>long _ to _ bytes
(4080619402056804299770309653189469497944613712628503523265748762879717804949666277412168954979)
b’}3maG_d00G_0S_s1_baL_ms1lat1paC{wohsftc’
可以明显看到一个wohsftc,这是被逆序过的ctfshow。再逆序一遍即可得到flag
ctfshow{Cap1tal1sm_Lab_1s_S0_G00d_Gam3}
黑丝白丝还有什么丝?
![](https://aitechtogether.com/wp-content/uploads/2023/08/e9e52d54-6502-4a5a-83bf-7f9a7b34210e.webp)
这个题多说无意我们相信探姬师傅是为了出题才穿女装的
![](https://aitechtogether.com/wp-content/uploads/2023/08/bc90dcd8-7db8-40aa-be1a-c83c74453ed6.webp)
视频链接
https://www.douyin.com/video/7164477952082693414
提示已经非常明显了
白丝为 . 黑丝为 – 转场为
看视频手敲:.– ….- -. – – —– -… …– — — .-. . -.-. ..- – .
![](https://aitechtogether.com/wp-content/uploads/2023/08/ae320b64-2843-4a75-a246-eb337aac85fa.webp)
得到flag
ctfshow{w4ntt0b3morecute}
我吐了你随意
![](https://aitechtogether.com/wp-content/uploads/2023/08/2f2fdbde-f1d9-4a64-9033-f21f842902eb.webp)
这是妥妥的拜师贴呀
![](https://aitechtogether.com/wp-content/uploads/2023/08/7ef46190-b008-4606-baec-a949505bbb60.webp)
当然这个提示也非常明确了零宽度字符的Unicode隐写术
零宽度字符的Unicode隐写术链接
http://330k.github.io/misc_tools/unicode_steganography.html
![](https://aitechtogether.com/wp-content/uploads/2023/08/0de741b9-26f3-411e-bc46-e7b2a71830c9.webp)
得到flag
ctfshow{OP_is_for_Over_Power}
这是个什么文件?
![](https://aitechtogether.com/wp-content/uploads/2023/08/f9d7aca6-450b-4f48-a021-b663ef5458d0.webp)
看见需要密码的压缩包 第一时间想到的应该是不是伪密码
![](https://aitechtogether.com/wp-content/uploads/2023/08/6b2a0b6e-270a-4156-b28b-987a94dc8f7c.webp)
010查看 果然 把09改成00就好了
![](https://aitechtogether.com/wp-content/uploads/2023/08/a22930c7-132b-434b-b176-974288d7d45f.webp)
得到无后缀文件
![](https://aitechtogether.com/wp-content/uploads/2023/08/77974a9b-6650-4122-95c0-912529163cd2.webp)
010查看
![](https://aitechtogether.com/wp-content/uploads/2023/08/118a5b78-b039-4e4a-a291-68221633fa38.webp)
怀疑可能是pyc文件 假后缀
![](https://aitechtogether.com/wp-content/uploads/2023/08/d173ab3f-a643-4a0d-9063-d62f456c6ff3.webp)
那就需要反编译成py文件
在线网站
https://tool.lu/pyc/
![](https://aitechtogether.com/wp-content/uploads/2023/08/df47eaef-b8db-4869-85d9-c46fa10402c0.webp)
flag=bytes([99,116,102,115,104,111,119,123,99,100,106,110,106,100,95,53,54,53,102,95,71,67,68,72,95,107,99,114,105,109,125]).decode()
print(flag)
运行一下就可以了
![](https://aitechtogether.com/wp-content/uploads/2023/08/1a6a3354-0aaa-4d36-9141-302fa719ae7a.webp)
得到flag
ctfshow{cdjnjd_565f_GCDH_kcrim}
抽象画
![](https://aitechtogether.com/wp-content/uploads/2023/08/96cd5be4-53cd-4bf5-b7af-bac62df0a829.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/b187d8f5-63de-4a0f-9b36-7158334b4c2b.webp)
题目说是图片打开确实乱码
说明这肯定是源代码编译过的
先试base
Base58到base32到base64
![](https://aitechtogether.com/wp-content/uploads/2023/08/d6444629-96ad-47bb-8d66-b7cf6a2b701d.webp)
得到16进制代码
在010新建16进制文本 粘贴自十六进制文本
![](https://aitechtogether.com/wp-content/uploads/2023/08/56071bc6-cdf1-48e3-a79b-a14d0b9e61ea.webp)
转化成图片保存png格式
![](https://aitechtogether.com/wp-content/uploads/2023/08/773e4821-4d83-4518-a866-46c00819e71b.webp)
果然够抽象
这里需要我们用到npiet这个工具
下载链接
https://download.csdn.net/download/m0_68012373/87428971?spm=1001.2014.3001.5501
![](https://aitechtogether.com/wp-content/uploads/2023/08/052eb442-72ab-472f-ad96-766d7f1e1653.webp)
npiet.exe -tpic 1.png
![](https://aitechtogether.com/wp-content/uploads/2023/08/03e4fb49-dd84-44e6-b569-03e9c8235f6e.webp)
得到flag
ctfshow{dec8de_frejnv_frejer89}
迅疾响应
![](https://aitechtogether.com/wp-content/uploads/2023/08/caa2441d-c185-4ae4-a25c-1757ab728782.webp)
打开一看二维码 但一看就是扫不出来的那种果然什么都没有
![](https://aitechtogether.com/wp-content/uploads/2023/08/b8831fc0-0b8d-4679-8e26-bcf29c76afc3.webp)
正常思路就是图片隐写分离什么的
就使用strings搜索了一下关键字符
![](https://aitechtogether.com/wp-content/uploads/2023/08/ed9efcb0-0282-41e1-809c-39af45ca6d3a.webp)
就发现这段字符(后来知道这是出题人设计的一个小坑)
既然什么都没有
那我们还就行走二维码这条路
![](https://aitechtogether.com/wp-content/uploads/2023/08/79a0728a-f6ce-4c9f-91b2-96eb78f56c6c.webp)
二维码识别最好用的还要看工具QRazyBox
工具在线链接https://merricx.github.io/qrazybox/
导入文件
![](https://aitechtogether.com/wp-content/uploads/2023/08/bc014fff-c266-457d-9b2d-faac088d4387.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/7ffe44a9-0068-4fc6-a18d-6481b818e2ce.webp)
工具提取QR信息
![](https://aitechtogether.com/wp-content/uploads/2023/08/2c13e3b3-cd06-4246-9e8f-8d6f091e3a10.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/4cddb65d-7451-4869-b959-bdca02039062.webp)
ctfshow{11451419-1981-
这也就表示还有一部分
![](https://aitechtogether.com/wp-content/uploads/2023/08/d5df7d95-1872-48e3-a986-56ec0022ffde.webp)
使用画笔将纠错区给涂白如上图
然后工具刚刚的步骤在扫描一遍
![](https://aitechtogether.com/wp-content/uploads/2023/08/f1b0b213-4996-4c9d-8b9f-1f62caa51b79.webp)
就有了后面一部分
landexiangle}
拼起来得到flag
ctfshow{11451419-1981-landexiangle}
我可没有骗你
![](https://aitechtogether.com/wp-content/uploads/2023/08/7bd3dafc-16a3-4b1d-8a7c-af9eba7e8e82.webp)
压缩包要密码(正常思路,肯定是密码被藏起来,需要我们去找,我们还满怀期待的去找,结果什么都没,不得不说,作者呀)
![](https://aitechtogether.com/wp-content/uploads/2023/08/5c0b304a-fe32-48d3-b6f8-5911ad6605e3.webp)
这个密码只能去爆破
使用ARCHPR,尝试爆破,选数字
![](https://aitechtogether.com/wp-content/uploads/2023/08/33431fbd-b5f1-43d1-95f4-e4a07ce58993.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/baecf91b-41d6-4651-89d7-331d3fa3e84e.webp)
得到密码55813329
解压得到svega.mp3
![](https://aitechtogether.com/wp-content/uploads/2023/08/c3dbc4c7-f4bd-48fc-95c3-f53ff5adf4d6.webp)
直接听百分之九十九没有用但还是要听一听
然后查看源代码
没有什么特别奇怪的地方
就是文件后缀是MP3 但源代码的格式是wav
![](https://aitechtogether.com/wp-content/uploads/2023/08/89aff244-dcc5-42fd-98a4-71499684c88d.webp)
所以改后缀wav
正常顺序对文件分析分离隐写什么的一下但没有什么东西
那就绝大可能是工具隐写
关于音频隐写的工具wbStego silenteye等等就不多说了
这里使用的是静默之眼(silenteye)别为什么因为题目没有提示 那我们只能一个一个去试
先导入文件然后打开decode
![](https://aitechtogether.com/wp-content/uploads/2023/08/ef2cc339-0ebc-4167-b49d-d944fe0279a7.webp)
Sound qualit选择high
![](https://aitechtogether.com/wp-content/uploads/2023/08/08a72029-acd4-40dd-980c-24a98d16f64f.webp)
点击decode
![](https://aitechtogether.com/wp-content/uploads/2023/08/b0fc461f-6040-415c-836f-db8a5eb068e4.webp)
解密
得到flag
ctfshow{aha_cdsc_jejcfe5rj_cjfr24J}
你被骗了
![](https://aitechtogether.com/wp-content/uploads/2023/08/d610aab5-9223-4d02-89d8-377f64199abc.webp)
下载解压又是一个MP3文件
![](https://aitechtogether.com/wp-content/uploads/2023/08/d4ab61e4-969f-4603-bc6c-47170d041549.webp)
在属性详细信息里有个flag(但是误导性信息假的,照应了题目)
![](https://aitechtogether.com/wp-content/uploads/2023/08/5c4d6260-d646-47b4-8bad-0d4bd4b1d3c0.webp)
使用MP3Stego这个工具
(当还需要密码,先拿空密码试试,发现不是就拿标题试一下)
MP3StegoDecode.exe -X -P nibeipianle nibeipianle.mp3
![](https://aitechtogether.com/wp-content/uploads/2023/08/0cbeba24-e9ad-401e-9d79-e0b5d4314f8a.webp)
有个txt文件 里面就是flag
![](https://aitechtogether.com/wp-content/uploads/2023/08/4ee93890-18bf-483e-8a42-c12def57716b.webp)
得到flag
ctfshow{chdv_1dcs_cjksnjn_NJDSjdcdjn}
一闪一闪亮晶晶
![](https://aitechtogether.com/wp-content/uploads/2023/08/14a11631-6915-4076-a322-db261754ae8a.webp)
下载附件
两文件what is this 是不需要密码的 那个一闪一闪亮晶晶是需要的
![](https://aitechtogether.com/wp-content/uploads/2023/08/8b5f5f62-f7a2-4f79-93b8-984dd2aec12f.webp)
打开二维码那就扫 普及一下这种图片形式叫汉信码。中国自己的二维码
在线网站(兔子二维码)
https://tuzim.net/hxdecode/
![](https://aitechtogether.com/wp-content/uploads/2023/08/ab10c5d6-4bec-42bc-b9bd-e2526f5ffa79.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/d85b3ed4-ff73-4dda-bff3-6ee47fe19a37.webp)
密码是CDBHSBHSxskv6
解压之后是一个小小音频
![](https://aitechtogether.com/wp-content/uploads/2023/08/16e1d72e-cd3b-4c51-b769-de4f4e562642.webp)
老规矩先仔细听听
不容易发现终于不再是单调的歌曲
它声音一响我还以为是摩斯密码
但等他放完发现根本不是
到一点无线电频的感觉
这就需要使用RX-SSTV这个工具了
这选项的解密方式是Robot36 点击Receiving然后播放音频就可以了
![](https://aitechtogether.com/wp-content/uploads/2023/08/dc842849-6d4e-452b-b4ed-e0d87c14cf3f.webp)
得到flag
ctfshow{NNICCETOMMETYOU}
一层一层一层地剥开我的♥
![](https://aitechtogether.com/wp-content/uploads/2023/08/89374ba6-100a-4529-9ac8-2b5cfb4eaa0b.webp)
好名字如果你愿意一层一层地剥开我的心你会发现你会明白
哎名字挺好题肯定不简单一层一层的套呀
![](https://aitechtogether.com/wp-content/uploads/2023/08/556f8aef-24aa-4696-8305-5cad1df31e5b.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/ba872242-650e-4d97-bf5e-07e66c862ed1.webp)
正常解压是会提示文件压缩文件已损坏
这时候肯定是要查看源代码
![](https://aitechtogether.com/wp-content/uploads/2023/08/4b8018f1-21a5-4c53-b9f3-9a406db736ae.webp)
如上图我有理由怀疑这是一个word文档 改后缀伪docx
![](https://aitechtogether.com/wp-content/uploads/2023/08/00efeae9-786e-473e-8e0e-049791ae4eb9.webp)
一段奇怪的字符
![](https://aitechtogether.com/wp-content/uploads/2023/08/fa0ce57d-6c04-4b30-aaeb-bd6b8e52104f.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/68dadc34-889a-4dd4-95db-8a9a3c177f7e.webp)
改一下字体改成宋体就行
![](https://aitechtogether.com/wp-content/uploads/2023/08/0d56ed55-ece2-4428-ac5d-1764d140a9db.webp)
Twinkle twinkle little star,how I wonder what you are
翻译一下
![](https://aitechtogether.com/wp-content/uploads/2023/08/236a7a2c-2832-4fa1-bf5f-6cbd18831b35.webp)
字面意思貌似没什么用 不知道后面有用吗
那就再看看之前压缩包的源代码吧
仔细查找一番貌似还有一个rar的压缩包
![](https://aitechtogether.com/wp-content/uploads/2023/08/9dbe55ec-944a-4760-acf1-f22e999815d2.webp)
那就分离一下
使用binwalk
![](https://aitechtogether.com/wp-content/uploads/2023/08/ae179678-cd74-4eae-b88f-2e0657f68e90.webp)
![](https://aitechtogether.com/wp-content/uploads/2023/08/8f0198be-611e-4474-9c6e-d4f064b66f7a.webp)
里面有一个jpg图片 和一个爱心的文件
但需要密码
猜测密码与word文档内容有关,
最后试出来是这两句歌曲的简谱数字:11556654433221
解压
![](https://aitechtogether.com/wp-content/uploads/2023/08/134b29dc-d784-48c8-b382-0da14c155016.webp)
我们可以那个爱心里面是有一个txt的文件 我们有理由怀疑他是一个压缩包
![](https://aitechtogether.com/wp-content/uploads/2023/08/f0bb6551-05fa-4b02-ae4e-61d6ebc57dfc.webp)
补全文件头52 62 72 21 保存
![](https://aitechtogether.com/wp-content/uploads/2023/08/4ecbe516-6e07-4f81-a0d0-8747afdff760.webp)
里面果然有一个txt文件 但需要密码
![](https://aitechtogether.com/wp-content/uploads/2023/08/07898f9f-a530-4a6d-93b2-fb5796586fc3.webp)
那先看图片吧
![](https://aitechtogether.com/wp-content/uploads/2023/08/7683e5de-1156-4389-ad8a-34df704b1d37.webp)
二话不说010走一波
![](https://aitechtogether.com/wp-content/uploads/2023/08/8f5b6eed-9ae6-4551-8d1b-5634f1f52864.webp)
底下这么明显的分层如下图
![](https://aitechtogether.com/wp-content/uploads/2023/08/7129ff7a-62d3-4d62-871f-f903a5d5a716.webp)
肯定是有东西的而且底下怎么看就是一个完整的文件
用010单独提出来 保存
![](https://aitechtogether.com/wp-content/uploads/2023/08/cf46d231-cfbc-4e12-9944-0cf7d8d83be0.webp)
压缩包密码就是winkwink~
得到字符
![](https://aitechtogether.com/wp-content/uploads/2023/08/2a224249-68d1-4731-9ec0-05e8c0a5b7ef.webp)
Emoji表情符号编码
在线网站
http://www.atoolbox.net/Tool.php?Id=937
![](https://aitechtogether.com/wp-content/uploads/2023/08/5e4da83e-11db-43a0-98d3-b6bddbaad267.webp)
得到flag
ctfshow{Wa0_wa_Congr@tulations~}
打不开的图片
![](https://aitechtogether.com/wp-content/uploads/2023/08/241e1760-d86c-401e-ac16-f0bb90896ff8.webp)
压缩包里面有一张打不开的图片,使用010查看十六进制码,发现文件头与PNG文件头十六进制码相加为100,
故用0x100相减既得png图片。
写一个python脚本制作图片:
f1 = open("./misc5.5.png","rb")
f2 = open("./output.png","wb")
all_data = f1.read()
lt = []for i in all_data:
if i == 0:
lt.append(i)
else:
lt.append(0x100 - i)
f2.write(bytes(lt))
f1.close()
f2.close()
得到如下图片
![](https://aitechtogether.com/wp-content/uploads/2023/08/9ec921bb-6a06-4656-bbc1-34e5f3c33198.webp)
得到flag
ctfshow{84a3ca656e6d01e25bcb7e5f415491fa}
加油各位( •̀ ω •́ )y 期待与君再相逢
文章出处登录后可见!