[TOC]

金三胖

1
下载压缩包打开是一个gif的动图,里面隐写了flag,用puzzlesolver

image-20241209082439926

image-20241209082322550

你竟然赶我走

image-20241209083659271

二维码

1
binwark 查看图片内有什么文件,然后foremost提取文件

image-20241209084226676

1
压缩包有密码 爆破出来是7639

image-20241209084805380

大白

1
2
高度太小了,改大点就行了

image-20241209085420915

image-20241209085841331

image-20241209085828287

乌镇峰会种图

1
拖入010直接find

image-20241209095004135

wireshark

1
下载流量包,放进wireshark中过滤一下post请求的包http.request.method==POST

image-20241209095942041

N种方法解决

1
2
3
4
下载是一个exe文件,用010打开是base64,并且提示是图片.那就是base64转图片
touch 1.txt然后把base64内容:从i开始到== 复制到1.txt中
base64 -d 1.txt > 2.png
打开2.png就是一个二维码

image-20241209101853973

image-20241209103515329

基础破解

1
四位数字

image-20241209104746239

文件中的秘密

1
没意思  010直接打开

img

zip伪加密

1
2
3
4
下载zip压缩包,解压有密码,用010打开这个就是伪加密
https://blog.csdn.net/qq_29566629/article/details/122936177
https://zhuanlan.zhihu.com/p/399456259
把两个0x09改成0x00就行了

image-20241209111519932

LSB

1
LSB隐写 用stegsolve打开图片 打开Analyse(分析)选项卡,使用Data Extract(数据提取)选项,进行分析。

image-20241209112822179

1
2
https://blog.csdn.net/qq_38154820/article/details/122694645
2、提取Red,Green和Blue的0通道信息,在这三个颜色的0通道上打勾,并按下Preview键。

image-20241209112942995

1
2
save Bin键保存为PNG文件。
3、得到一张二维码图片,通过扫描二维码,获得flag。

image-20241209113101122

被嗅探的流量

1
分组字节流搜索字符串:flag

image-20241209113313580

rar

1
4位数字,爆破

image-20241209113536911

qr

1
直接扫

image-20241209113633700

镜子里面的世界

1
LSB隐写

image-20241209113847154

1
st3g0_saurus_wr3cks

爱因斯坦

1
先用binwalk扫描一下有flag

image-20241209114054947

1
foremost分离出一个压缩包,但是有密码,用010打开图片发现密码----无聊

image-20241209114237098

image-20241209114418179

ningen

1
binwalk发现里面有个txt

image-20241209114623669

1
foremost分离一下,压缩包有密码  四位数密码  爆破得到8368

小明的保险箱

1
2
3
binwalk分析一下有压缩包,foremost分离一下,爆破一下压缩包密码
flag{75a3d68bf071ee188c418ea6cf0bb043}

easycap

1
直接右键追踪流--TCP流

image-20241209114956810

隐藏的钥匙

1
010打开搜索flag

image-20241209115145066

1
解一下base64

image-20241209115212700

另外一个世界

1
010打开

image-20241209122807321

1
01101011011011110110010101101011011010100011001101110011

image-20241209122834973

1
二进制转字符

image-20241209123341633

数据包中的线索

1
打开是流量包,带颜色的那个包追一下tcp

image-20241209123615969

image-20241209123759352

1
2
base64转图片,我本地工具尝试好几次没有成功https://www.lddgo.net/convert/base64-to-image

image-20241209125415695

神秘龙卷风

1
rar压缩包爆破,4位数字密码,得到这个

在这里插入图片描述

1
这是一种名为“Brainfuck”的计算机语言。https://www.w3cschool.cn/tryrun/runcode?lang=brainfuck

FLAG

1
LSB隐写,用stegsolve打开发现是压缩包,点save bin保存为1.zip

image-20241209125958892

1
2
3
压缩包打开报错了,不影响依然打开,解压然后strings
strings 1 > 111.txt

image-20241209130427989

假如给我三天光明

1
打开是个图片和一个有密码的压缩包

image-20241209130919231

1
解出密码kmdonowg,打开wav文件,短的为点,长的为线,得到flag:flag{wpei08732?23dz}

image-20241209131013232

后门查杀

1
拖入河马查杀

image-20241209131945953

webshell后门

1
还是d盾好用

image-20241209132716272

来首歌吧

1
2
..... -... -.-. ----. ..--- ..... -.... ....- ----. -.-. -... ----- .---- ---.. ---.. ..-. ..... ..--- . -.... .---- --... -.. --... ----- ----. ..--- ----. .---- ----. .---- -.-.
莫尔斯密码
1
5BC925649CB0188F52E617D70929191C

面具下的flag

1
binwalk一下foremost一下

image-20241209164950183

1
伪加密

image-20241209165245691

1
解压后用7z打开vmdk,拿到加密字符

image-20241209165635791

image-20241209165718681

1
第二部分flag在key_part_two/where_is_flag_part_two.txtflag_part_two_is_here.txt

image-20241209170009062

1
无聊

荷兰宽带数据泄露

1
conf.bin文件为一个路由器的配置文件。我们用RouterPassView打开conf.bin文件

在这里插入图片描述

1
2
flag{053700357621}

九连环

1
binwalk一下 foremost一下

image-20241209170539379

1
在主压缩包的压缩源文件目录区的全局加密位出现了01 08,可以判断为压缩包伪加密,将01改为00

image-20241209171619130

1
2
3
4
5
6
7
8
steghide基本用法:

将secret.txt文件隐藏到text.jpg中:
# steghide embed -cf test.jpg -ef secret.txt -p 123456

text.jpg解出secret.txt:
#steghide extract -sf test.jpg
拿到压缩包密码bV1g6t5wZDJif^J7

image-20241209171852786

1
flag{1RTo8w@&4nK@z*XL}

[BJDCTF2020]认真你就输了

1
这是个压缩包,后缀改成zip解压

image-20241209172429248

被劫持的神秘礼物

1
2
http.request.method == "POST"追一下登录的post协议
name=admina&word=adminb

image-20241209173359915

image-20241209173525329

被偷走的文件

1
攻击者用的ftp传输的,发现了一个rar,用binwalk

image-20241209174205928

1
确实有,用foremost分离

image-20241209174327258

1
压缩包有密码,爆破是4位数字密码5790

[BJDCTF2020]藏藏藏

1
先binwalk然后foremost,然后解压压缩包即可

image-20241209174857728

image-20241209174952059

[GXYCTF2019]佛系青年

1
压缩包部分有密码,图片没有密码,010打开发现是伪加密,09改成00

image-20241213151118705

image-20241213151135385

image-20241213151230392

[BJDCTF2020]你猜我是个啥

1
file 一下发现是个图片,直接010搜索flag

image-20241213151339309

image-20241213151551365

1
2
flag{i_am_fl@g}

刷新过的图片

1
2
隐写方法为f5加密
java Extract /Desktop/1.png

image-20241213152042657

1
把上面这个文件从txt改成zip,删掉伪加密,解压

image-20241213152547772

秘密文件

1
统计-协议分级.发现FTP最大了,还是传输,肯定是用ftp传了.直接过滤ftp

image-20241213152816810

image-20241213153021694

1
foremost分离

image-20241213153114971

1
压缩包需要密码,我们 使用工具破解密码1903

[BJDCTF2020]鸡你太美

1
两个Gif,一个破损

image-20241213153514116

image-20241213153558423

image-20241213153646305

1
保存就ok

[BJDCTF2020]just_a_rar

1
2
爆破,4位数字的密码2016
拖进010直接搜flag

snake

1
binwalk一下然后foremost一下发现keybase64,

image-20241213154023859

image-20241213154136204

1
2
3
serpent加密,key(小写):anaconda
http://serpent.online-domain-tools.com/ 这个在线解密工具目前用不了了,我也没有找到离线的脚本,这道题就这样吧
flag{who_knew_serpent_cipher_existed}

菜刀666

1
流量分析过滤POST的包http.request.method==POST

image-20241213175449753

1
这里有大量数据

image-20241213175741116

1
2
传了个图片,再加上FF D8开头FF D9结尾,判断为jpg图片,将这些十六进制复制出来,以原始文件流写入文件
先保存到txt里,然后导入16进制数,保存成jpg就ok

image-20241213180324099

image-20241213180412242

image-20241213180517288

1
2
binwalk分析出还有一个zip,foremost分离出来用上面那个密码解压就可以了

[BJDCTF2020]一叶障目

1
CRC计算
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import zlib
import struct
with open(r'1.png','rb') as image_data:
bin_data = image_data.read()
data = bytearray(bin_data[12:29]) #用来计算crc校验值
crc32key = eval(str(bin_data[29:33]).replace(r'\x', '').replace("b'", '0x').replace("'", '')) #这是图片自带的校验值
#理论上0xffffffff,但考虑到屏幕实际,0x0fff就差不多了
n = 4096
#高和宽一起爆破
for w in range(n):
# q为8字节,i为4字节,h为2字节
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]
crc32result = zlib.crc32(data)
if crc32result == crc32key:
print("width:%s height:%s" % (bytearray(width).hex(),
bytearray(height).hex()))
exit()

image-20241213181551417

1
修改图片宽度和高度

image-20241213181941565

image-20241213182045092

[SWPU2019]神奇的二维码

1
2
foremost BitcoinPay.png
发现foremost分不了,用binwalk -e BitcoinPay.png --run-as=root

image-20241214143050071

1
base64解出来线索asdfghjkl1234567890

image-20241214143201854

1
连续解码有这个线索comEON_YOuAreSOSoS0great
1
2
18394.rar可以用comEON_YOuAreSOSoS0great解压,音频是摩尔密码(粗的为-,短的为.)
flag{morseisveryveryeasy}

[BJDCTF2020]纳尼

1
发现gif正常打不开,用010查看,发现缺少文件头

image-20241214143540137image-20241214143546880

1
00 00 00 00改为47 49 46 38解码后得到flag

image-20241214143632378

[HBNIS2018]excel破解

1
010打开搜索flag

image-20241214143830560

[HBNIS2018]来题中等的吧

1
2
第一个红框代表“-”,第二个红框代表“.”,第三个红框代表“ ”(空格)。
.- .-.. .--. .... .- .-.. .- -...

image-20241214143955628

1
flag{alphalab}

梅花香之苦寒来

1
用010打开发现16进制数,粘贴出来保存到txt,用010导入16进制数导入进去

image-20241214144210665

image-20241214144517088

1
要画图.用gnuplot之前需要先将坐标格式转换成gnuplot可以识别的格式,其实就是把()和,去掉
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
with open('result.txt', 'r') as res:  # 坐标格式文件比如(7,7)
re = res.read()
res.close()

with open('gnuplotTxt.txt', 'w') as gnup: # 将转换后的坐标写入gnuplotTxt.txt
re = re.split()
tem = ''
for i in range(0, len(re)):
tem = re[i]
tem = tem.lstrip('(')
tem = tem.rstrip(')')
for j in range(0, len(tem)):
if tem[j] == ',':
tem = tem[:j] + ' ' + tem[j+1:]
gnup.write(tem + '\n')
gnup.close()

1
2
# root @ penetration in /mnt/c/Users/Anonymous/Desktop [14:50:26] C:127
$ apt-get install gnuplot

image-20241214145323898

谁赢了比赛?

1
binwalk 看一下,有个 rar,-e 提取一下
1
rar 加密,放到 ARCHPR 里面爆破一下 1020
1
得到 gif,这时候放到 stegsolve 里面,用 frame browser 看一下,这个功能是专门用来一帧一帧看 gif 图,保存这一帧,再用 stegsolve 打开保存的 bmp
1
发现在红色亮度为 0 时有个二维码,扫码得 flag

[ACTF新生赛2020]outguess

1
outguess隐写
1
2
3
4
outguess下载安装
kail 终端命令输入git clone https://github.com/crorvick/outguess,安装包下载完成到文件夹。
打开文件夹,右键空白处选终端打开,输入命令./configure && make && make install进行安装。

1
查看mmm.jpg图片属性,得到一段经过社会主义核心价值观编码加密的密文:“公正民主公正文明公正和谐”。

image-20241214145817220

1
abc”,作为outguess解密的密钥。
1
2
outguess -k "abc" -r  mmm.jpg flag.txt
隐写的内容最终会导入flag.txt文件。
1
flag{gue33_Gu3Ss!2020}

[WUSTCTF2020]find_me

1
盲文解密

image-20241214150030937

1
https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=mangwen

image-20241214150105093

穿越时空的思念

image-20241214150309282

1
2
3
4
5
print("F029BD6F551139EEDEB8E45A175B0786".lower())

包上flag就是题目三十二位小写的答案了

flag{f029bd6f551139eedeb8e45a175b0786 }

[GUET-CTF2019]KO

1
Ook!编码。

image-20241214150404944

[SWPU2019]我有一只马里奥

1
发现附件为attachment.exe,管理员运行后发现多出了一个1.txt,内容为ntfs flag.txt
1
2
根据提示查看ntfs流,在当前目录打开cmd,并输入
notepad 1.txt:flag.txt

image-20241214150525249

image-20241214150534289

[ACTF新生赛2020]base64隐写

1
ComeOn!.txt中是一堆base64编码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# !python2
def get_base64_diff_value(s1, s2):
base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
res = 0
for i in xrange(len(s2)):
if s1[i] != s2[i]:
return abs(base64chars.index(s1[i]) - base64chars.index(s2[i]))
return res

def solve_stego():
with open('ComeOn!.txt', 'rb') as f:
file_lines = f.readlines()
bin_str = ''
for line in file_lines:
steg_line = line.replace('\n', '')
norm_line = line.replace('\n', '').decode('base64').encode('base64').replace('\n', '')
diff = get_base64_diff_value(steg_line, norm_line)
print diff
pads_num = steg_line.count('=')
if diff:
bin_str += bin(diff)[2:].zfill(pads_num * 2)
else:
bin_str += '0' * pads_num * 2
print goflag(bin_str)


def goflag(bin_str):
res_str = ''
for i in xrange(0, len(bin_str), 8):
res_str += chr(int(bin_str[i:i + 8], 2))
return res_str
print(res_str)

if __name__ == '__main__':
solve_stego()


[MRCTF2020]ezmisc

1
在010 Editor中打开,提示CRC校验错误,认为图片被修改了宽高,不符合CRC校验。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import os
import binascii
import struct

crcbp = open("repair.png", "rb").read() #打开图片(修改图片路径)
for i in range(2000):
for j in range(2000):
data = crcbp[12:16] + \
struct.pack('>i', i)+struct.pack('>i', j)+crcbp[24:29]
crc32 = binascii.crc32(data) & 0xffffffff
if(crc32 == 0x9BF1293B): #图片当前CRC(修改CRC)
print(i, j)
print('hex:', hex(i), hex(j))

image-20241214150759004

[GXYCTF2019]gakki

1
binwalk -e一下
1
用7z解压了一下,有密码,不是伪加密,爆破一下 8864

image-20241214151023834

1
字频统计
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# -*- coding:utf-8 -*-
#Author: mochu7
alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_+- =\\{\\}[]"
strings = open('./flag.txt').read()

result = {}
for i in alphabet:
counts = strings.count(i)
i = '{0}'.format(i)
result[i] = counts

res = sorted(result.items(),key=lambda item:item[1],reverse=True)
for data in res:
print(data)

for i in res:
flag = str(i[0])
print(flag[0],end="")

[HBNIS2018]caesar

1
凯撒加密
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
def decrypt(ciphertext, shift):
"""移位解密函数"""
plaintext = ''
for char in ciphertext:
if char.isalpha(): # 如果是字母,进行移位解密
if char.isupper():
plaintext += chr((ord(char) - shift - 65) % 26 + 65) # 大写字母移位解密
else:
plaintext += chr((ord(char) - shift - 97) % 26 + 97) # 小写字母移位解密
else: # 如果不是字母,直接输出
plaintext += char
return plaintext

# 加密密文和移位数
ciphertext = 'gmbhjtdbftbs'
shift = 3
ciphertext = ciphertext.lower()
# 小写易于观察
# 枚举所有可能的移位数,输出所有解密结果
for i in range(26):
plaintext = decrypt(ciphertext, i)
print("%d %s"% (i, plaintext))

image-20241214151217833

1
flag{flagiscaesar}

[SUCTF2018]single dog

1
使用foremost分离一下这张图片得到两个文件夹和一个txt
1
颜文字解密

image-20241214151324268

黑客帝国

1
打开文件,是一个文本文档

image-20241214151403696

1
2
查看文本内容数量,发现是4的倍数。而且开头为52617221,猜测这是个rar文件。尝试将文件写为16进制格式
010导入16进制数直接导入即可
1
得到一个加密的rar文件,尝试使用archpr爆破 3690
1
得到密码后打开压缩包得到一张图片,但是图片损坏无法打开
1
010修改文件头 ff d8 ff e0

[HBNIS2018]低个头

1
无聊  flag{CTF}

image-20241214151647428

[SWPU2019]伟大的侦探

1
解压提示需要密码,但解压出一个密码.txt文件。

image-20241214151741651

1
2
压缩包密码:摂m墷m卪倕ⅲm仈Z
呜呜呜,我忘记了压缩包密码的编码了,大家帮我解一哈。
1
使用010 Editor打开密码.txt文件,选择编辑方式为EBCDIC(B),找到明文密码  wllm_is_the_best_team!
1
使用密码解压压缩包,得到18个.jpg图片,图片为跳舞的小人图形密码(出自于《福尔摩斯探案集》跳舞的小人)
1
flag{iloveholmesandwllm}

[MRCTF2020]你能看懂音符吗

1
拿到附件解压放进010看文件头61527221,发现rar头错了,改成52617221解压

image-20250119154148035

1
打开发现有乱码,查看word中的隐藏文字,其他软件类似,反正就是把隐藏文字打勾

image-20250119152750971

1
推荐另一种方法,直接docx改成zip解压

image-20250119154327423

1
https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=yinyue

image-20250119154414051

我吃三明治

1
图片用010打开

image-20250119155239458

1
这是base32  MZWGCZ33GZTDCNZZG5SDIMBYGBRDEOLCGY2GIYJVHA4TONZYGA2DMM3FGMYH2

image-20250119155412745