buuctf-misc3


misc

[UTCTF2020]spectogram


Sonic Visualiser分析一下

最后flag为flag{sp3tr0gr4m0ph0n3}

蜘蛛侠呀


下载附件

过滤icmp

所有的icmp包后面都跟了一串数据,使用tshark把这些全部提取出来

有重复,Python去重

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
with open('E:\\脚本合集\\misc\\buuctf misc\\python去重\\data.txt', 'r') as file:

    res_list = []

    lines = file.readlines()

    print('[+]去重之前一共{0}行'.format(len(lines)))

    print('[+]开始去重,请稍等.....')

    for i in lines:

        if i not in res_list:

            res_list.append(i)

    print('[+]去重后一共{0}行'.format(len(res_list)))

    print(res_list)



with open('E:\\脚本合集\\misc\\buuctf misc\\python去重\\data1.txt', 'w') as new_file:

    for j in res_list:

        new_file.write(j)

运行得到

将十六进制数据转为字符

1
2
3
4
5
6
7
8
9
10
11
import binascii



with open('E:\\脚本合集\\misc\\buuctf misc\\十六进制转字符\\data1.txt','r') as file:

    with open('E:\\脚本合集\\misc\\buuctf misc\\十六进制转字符\\data2.txt','wb') as data:

        for i in file.readlines():

            data.write(binascii.unhexlify(i[:-1]))

运行得到

去掉首尾两行,再去掉$$START$$

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
# 对重复的字符进行删除



def remove_specific_string(input_file, output_file, target_string='$$START$$'):

    with open(input_file, 'r', encoding='utf-8') as file:

        content = file.read()

    # 替换文件中的特定字符串

    content = content.replace(target_string, '')

    with open(output_file, 'w', encoding='utf-8') as file:

        file.write(content)

# 使用示例

input_file = 'E:\\脚本合集\\misc\\buuctf misc\\base---zip\\data2.txt'  # 要处理的文件名

output_file = 'E:\\脚本合集\\misc\\buuctf misc\\base---zip\\data3.txt'  # 输出的文件名

remove_specific_string(input_file, output_file)

运行得到

然后删除换行符

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def remove_newlines(input_file, output_file):

    with open(input_file, 'r', encoding='utf-8') as file:

        content = file.read()

    # 去除所有换行符

    content = content.replace('\n', '').replace('\r', '')

    with open(output_file, 'w', encoding='utf-8') as file:

        file.write(content)

# 使用示例

input_file = 'E:\\脚本合集\\misc\\buuctf misc\\base---zip\\data3.txt'  # 要处理的文件名

output_file = 'E:\\脚本合集\\misc\\buuctf misc\\base---zip\\data4.txt'  # 输出的文件名

remove_newlines(input_file, output_file)

运行得到

base—zip格式

1
2
3
4
5
6
7
8
9
import base64



with open('E:\\脚本合集\\misc\\buuctf misc\\base---zip\\data4.txt','rb') as file:

    with open('E:\\脚本合集\\misc\\buuctf misc\\base---zip\\res.zip','wb') as new_file:

        new_file.write(base64.b64decode(file.read()))

运行得到

解压压缩包

在linux中使用indentify(这里identify是imagemagick的一个组件功能挺多的)输出文件格式

时间轴隐写

GIF 文件每一帧间的时间间隔也可以作为信息隐藏的载体,隐藏具体方式需具体分析,可以通过 identify 命令清晰的打印出每一帧的时间间隔。

identify -format “%T” flag.gif

将20替换成0,50替换成1,01转字符串

md5加密

最后flag为flag{f0f1003afe4ae8ce4aa8e8487a8ab3b6}

[安洵杯 2019]easy misc


下载附件

decode.zip

掩码爆破:???????NNULLULL,

解压压缩包

foremost提取

盲水印

得到提示:in 11.txt

再看到read文件夹

查看11.txt

词频统计 取前十六字符

因为第一位是空格,所以只有15个字符,然后按照decode.txt进行对照
etaonrhisdluygw
–>QW8obWdIWT9pMkFSQWtRQjVfXiE/WSFTajBtcw=
赛博厨子一把梭

最后flag为flag{have_a_good_day1}

Business Planning Group


下载附件

010 Editor打开图片,搜索IEND,发现结尾之后附加了东西

保存bpg文件
bpg查看

1
YnNpZGVzX2RlbGhpe0JQR19pNV9iM3R0M3JfN2g0bl9KUEd9Cg==

赛博厨子一把梭

最后flag为flag{BPG_i5_b3tt3r_7h4n_JPG}

大流量分析(二)


下载附件

数据采集D_eth0_NS_20160809_164452.pcap

查看下邮件协议:POPSMTPIMAP

这里只有SMTP

追踪TCP流看到了钓鱼邮件

找到邮箱

最后flag为flag{xsser@live.cn}

greatescape


下载附件

追中TCP流,在tcp.stream eq 18,发现ssc.key

tcp.stream eq 19看到rsa私钥格式的key

将私钥先保存下来名为ssc.key

通过分析流量猜测,这应该在向ftp服务器传送私钥,我们得到了私钥,就可以解密TLS报文

Edit->Preference->Protocols->TLS,点击Edit,然后点击+添加Key File

然后在tcp.stream eq 80追踪TLS Stream即可发现flag

最后flag为flag{OkThatWasWay2Easy}

[GKCTF 2021]你知道apng吗


下载附件

用谷歌浏览器打开

 apngdis_gui.exe

 查看图片

 ps扭曲

 手机扫描得到flag{a3c7e4e5
 图片序号18

 扫描二维码

 图片序号36

 扫描二维码

 最后flag为flag{a3c7e4e5-9b9d-ad20-0327-288a235370ea}

[湖南省赛2019]Findme


下载附件

压缩包里有五张图,依次来看
1.png

宽高一把梭

010查看文件

发现了chunk2chunk3都缺少了IDAT块。IDAT块的数值是:49 44 41 54
010修改


保存得到

stegsolve

扫描二维码得到

得到第一块base64编码

1
1.png => ZmxhZ3s0X3

 2.png

 010查看文件

再仔细查看发现这是压缩包的头被更改了
那就把7A 03->50 4B
搜索发现还真不少 那就用替换功能吧
搜索->替换或者直接ctrl + r

保存打开,里面有999个txt,但是有个618.txt大小和其他的不一样,打开得到第二段base64编码

1
2.png => 1RVcmVfc

3.png

chunk[0]-chunk[6]的每一个数据块的crc值都是可打印的Ascii字符

hex解密

1
3.png => 3RlZ30=

4.png

exiftool查看信息

1
4.png => cExlX1BsY 

5.png

010查看末尾

1
5.png => Yzcllfc0lN

然后按照,1.png5.png4.png2.png3.pnp得到的base64顺序,拼接起来得到:

1
ZmxhZ3s0X3Yzcllfc0lNcExlX1BsY1RVcmVfc3RlZ30=

赛博厨子一把梭

最后flag为flag{4_v3rY_sIMpLe_PlcTUre_steg}

[V&N2020 公开赛]真·签到


签到
最后flag为flag{welcome_to_vn}

[ACTF新生赛2020]剑龙

下载附件

查看hint.zip

AAencode颜文字解密

steghide隐写

查看图片属性

DES解密

stegosaurus隐写

最后flag为

1
flag{3teg0Sauru3_!1}

[HDCTF2019]你能发现什么蛛丝马迹吗

下载附件是img镜像,直接使用lovemem一把梭,查看进程

直接导出进程1992

foremsot分离

查看图片

扫描二维码

AES解密

最后flag为

1
flag{F0uNd_s0m3th1ng_1n_M3mory}

[INSHack2019]INSAnity

下载附件

最后flag为

1
flag{YouRe_Crazy_and_I_Love_it}

很好的色彩呃?

下载附件

使用ps拾色器

发现拾取色hex值只有最后两位变化,提取出来

1
6161706a6573

hex解密

最后flag为

1
flag{aapjes}

[INSHack2019]Sanity

下载附件

最后flag为

1
flag{Welcome}

[ACTF新生赛2020]frequency

下载附件

勾选隐藏文字

在文档属性里找到另一段数据

合起来base解密

词频统计

最后flag为

1
flag{plokmijnuhbygvrdxeszwq}

[INSHack2018]Self Congratulation

下载附件

发现图片左上角有黑白块,放大看一下

黑白相间块的话就按照二维的方式来转化为二进制,白为0黑为1

1
2
3
4
5
6
00110001001
10010001100
11001101000
01101010011
01100011011
10011100000

二进制转字符串

最后flag为

1
flag{12345678}

[INSHack2017]insanity-

下载附件

最后flag为

1
flag{Youre_crazy_I_like_it}

[2022红包题]虎年大吉

下载附件

010查看文件

发现末尾有编码,尝试base85解密

最后flag为

1
flag{29186995}

[BSidesSF2019]table-tennis

下载附件

python解析数据包

exp:

1
2
3
4
5
6
7
8
9
from scapy.all import *
from scapy.layers.inet import ICMP

packets = rdpcap('E:\\脚本合集\\misc\\buuctf misc\\icmp\\attachment.pcapng')
for pack in packets: # 遍历每一个数据包
if pack.haslayer(ICMP):
if pack[ICMP].type == 0: # 每一个ICMP的type值为0的包(响应包)
print(pack[ICMP].load[-8:].decode(), end='')
# 每个数据包的最后8位是有效数据

运行得到

base解密

最后flag为

1
flag{JustAS0ngAb0utP1ngP0ng}

[INSHack2019]gflag

下载附件

将后缀改为.gcode,在线预览gcode

gcode viewer - online gcode viewer and analyzer in your browser!

最后flag为

1
flag{3d_pr1nt3d_fl49}

[MRCTF2020]小O的考研复试

下载附件

直接上脚本

exp:

1
2
3
4
flag=2
for i in range(19260816):
flag = (flag * 10 + 2)%1000000007
print(flag)

运行得到

最后flag为

1
flag{577302567}

[*CTF2019]otaku

下载附件

伪加密

查看docx文件

文档隐藏文字转GBK编码

exp:

1
2
3
4
5
# -*- coding:GBK -*-
f = open('data.txt','w')
s = "Hello everyone, I am Gilbert. Everyone thought that I was killed, but actually I survived. Now that I have no cash with me and I’m trapped in another country. I can't contact Violet now. She must be desperate to see me and I don't want her to cry for me. I need to pay 300 for the train, and 88 for the meal. Cash or battlenet point are both accepted. I don't play the Hearthstone, and I don't even know what is Rastakhan's Rumble."
f.write(s)
f.close()

根据提示下载winrar,并加密上面保存好的txt文档,进行明文攻击,得到密码为My_waifu,将图片放入StegSolve中,lsb隐写出现flag

最后flag为

1
flag{vI0l3t_Ev3rg@RdeN}

大流量分析(三)

题目描述:

1
某黑客对A公司发动了攻击,以下是一段时间内我们获取到的流量包,那黑客预留的后门的文件名是什么?(答案加上flag{})附件链接: https://pan.baidu.com/s/1EgLI37y6m9btzwIWZYDL9g 提取码: 9jva 注意:得到的 flag 请包上 flag{} 提交

下载附件

题目要求找出后门,一般渗透思路来说,对php站点,上传了一个木马后会测试phpinfo能不能返回,根据这一点搜索phpinfo()

最后flag为

1
flag{admin.bak.php}

真的很杂

下载附件

foremost分离

dex2jar反编译

1
d2j-dex2jar.bat classes.dex

jd-gui打开

1
flag{25f991b27f" + i + "dc2f7a82a2b34" + j + "86e81c4}

i和j是未知数,需要爆破出来,尝试几十次最后得到flag为

1
flag{25f991b27fcdc2f7a82a2b34386e81c4}

[GKCTF 2021]FireFox Forensics

下载附件

有两个文件分别是firfox的记录文件(logins.json)和密钥文件(key4.db)

Firepwd破解火狐的登陆凭证

1
python firepwd.py logins.json

最后flag为

1
flag{9cf21dda-34be-4f6c-a629-9c4647981ad7}

[RCTF2019]disk

下载附件

7z解压得到一个fat文件

010查看文件发现第一部分flag

VeraCrypt挂载fat文件,密码猜测为:rctf

查看password.txt

1
2
3
4
Password 2: RCTF2019


You're late... So sad

使用这个密码继续挂载,结果打不开

使用winhex挂载

通过Winhex->工具->打开磁盘打开这个盘得到第二部分flag

最后flag为

1
flag{unseCure_quick_form4t_vo1ume_and_corrupted_1nner_v0lume}

[MRCTF2020]摇滚DJ(建议大声播放

下载附件是音频文件,r-sstv直接秒了

最后flag为

1
flag{r3ce1ved_4n_img}

[INSHack2018]INSanity

下载附件

最后flag为

1
flag{let_the_game_begin!}

[GUET-CTF2019]520的暗示

下载附件

异或33得到一张图片

查看图片

移动基站查询定位

最后flag为

1
flag{桂林电子科技大学花江校区}

[NewStarCTF 2023 公开赛道]流量!鲨鱼!

下载附件

http导出对象

保存选中的那个文件并查看

base解密

最后flag为

1
flag{Wri35h4rk_1s_u53ful_b72a609537e6}

[XMAN2018排位赛]file

下载附件是img文件,先挂载看看

发现没什么东西,尝试extundelete恢复被删除的目录或文件

最后flag为

1
flag{fugly_cats_need_luv_2}

[GWCTF2019]huyao

下载附件

双图频域盲水印攻击,直接b神工具一把梭

最后flag为

1
flag{BWM_1s_c00l}

[DDCTF2018]第四扩展FS

下载附件

foremost分离

发现有密码,查看图片属性

压缩包密码为Pactera,解压压缩包

词频统计

最后flag为

1
flag{huanwe1sik4o!}

寂静之城

访问题目链接

寂静之城 马伯庸

题目环境没了,借鉴大佬图片

顺着出题人找到flag

最后flag为

1
flag{31010419920831481363542021127}

[SCTF2019]Ready_Player_One

下载附件

运行exe发现是游戏

按着 w

最后flag为

1
flag{You_Are_The_Ready_Player_One!!!For_Sure!!!}

我爱Linux

下载附件

下载下来解压出来的的图片,看不了,用010 editor打开

提取序列化文件

脚本转换

1
2
3
4
5
6
7
8
9
import pickle  

fp = open("E:\\脚本合集\\misc\\buuctf misc\\序列化\\a.txt","rb+")
fw = open('E:\\脚本合集\\misc\\buuctf misc\\序列化\\pickle.txt', 'w')
a=pickle.load(fp)
pickle=str(a)
fw.write( pickle )
fw.close()
fp.close()

运行得到

坐标画图

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
fw = open("E:\\脚本合集\\misc\\buuctf misc\\序列化\\pickle.txt","r")
text=fw.read( )
i=0
a=0


while i<len(text)+1:
if(text[i]==']'):
print('\n')
a=0
elif(text[i]=='('):
if(text[i+2]==','):
b=text[i+1]
d=text[i+1]
b=int(b)-int(a)
c=1
while c<b:
print(" ", end="")
c += 1
print(text[i+5], end="")
a=int(d)
else:
b=text[i+1]+text[i+2]
d=text[i+1]+text[i+2]
b=int(b)-int(a)
c=1
while c<b:
print(" ", end="")
c += 1
print(text[i+6], end="")
a=int(d)
i +=1

运行得到

最后flag为

1
flag{a273fdedf3d746e97db9086ebbb195d6}

[DASCTF X 0psu3十一月挑战赛|越艰巨·越狂热]签到

签到

最后flag为

1
flag{2023_dasctf_11_0psu3}

Beautiful_Side

下载附件

foremost分离

手撸二维码

QRazyBox - QR Code Analysis and Recovery Toolkit

[INSHack2018]42.tar.xz

下载附件

套娃

1
while [ "`find . -type f -name '*.tar.xz' | wc -l`" -gt 0 ]; do find -type f -name "*.tar.xz" -exec tar xf '{}' \; -exec rm -- '{}' \;; done;

最后flag为

1
flag{04ebb0d6a87f9771f2eea4dce5b91a85e7623c13301a8007914085a91b3ca6d9}

[BSidesSF2019]diskimage

下载附件

zsteg分析

发现DOS扇区数据,用-e命令提取

1
zsteg -e "b8,rgb,lsb,xy" attachment.png > diskimage.dat

testdisk恢复文件

1
testdisk diskimage.dat

选项

1
Proceed>None>Advanced>Boot>Rebuild BS>List

按c复制图片到桌面

最后flag为

1
flag{FAT12_FTW}

[INSHack2017]remote-multimedia-controller

下载附件

tcp追踪流发现base编码

base解密

最后flag为

1
flag{TCP_s0ck3t_4n4lys1s_c4n_b3_fun!}

[INSHack2017]hiding-in-plain-sight

下载附件

foremost分离

最后flag为

1
flag{l337_h4xx0r5_c0mmun1c473_w17th_PNGs}

[WMCTF2020]行为艺术

下载附件

一眼zip十六进制字节,提取出来

1
504B0304140000000800DB93C55086A39007D8000000DF01000008000000666C61672E74787475504B0E823010DD93708771DDCCB0270D5BBD0371815A9148AC6951C2ED9D271F89C62E2693D7F76BB7DE9FC80D2E6E68E782A326D2E01F81CE6D55E76972E9BA7BCCB3ACEF7B89F7B6E90EA16A6EE2439D45179ECDD1C5CCFB6B9AA489C1218C92B898779D765FCCBB58CC920B6662C5F91749931132258F32BBA7C288C5AE103133106608409DAC419F77241A3412907814AB7A922106B8DED0D25AEC8A634929025C46A33FE5A1D3167A100323B1ABEE4A7A0708413A19E17718165F5D3E73D577798E36D5144B66315AAE315078F5E51A29246AF402504B01021F00140009000800DB93C55086A39007D8000000DF010000080024000000000000002000000000000000666C61672E7478740A00200000000000010018004A0A9A64243BD601F9D8AB39243BD6012D00CA13223BD601504B050600000000010001005A000000FE00000000000000

赛博厨子转文件

解压压缩包发现有密码

伪加密

brainfuck解密

最后flag为

1
flag{wai_bi_baaaa_bo!2333~~~}

[XMAN2018排位赛]AutoKey

下载附件

键盘流量,直接工具一把梭

密文

1
mplrvffczeyoujfjkybxgzvdgqaurkxzolkolvtufblrnjesqitwahxnsijxpnmplshcjbtyhzealogviaaissplfhlfswfehjncrwhtinsmambvexpziz

爆破autokey

py文件下载地址

http://www.practicalcryptography.com/cryptanalysis/stochastic-searching/cryptanalysis-autokey-cipher/

配置文件下载地址

http://www.practicalcryptography.com/cryptanalysis/text-characterisation/quadgrams/#a-python-implementation

python2运行得到flag

最后flag为

1
flag{JHAWLZKEWXHNCDHSLWBAQJTUQZDXZQPF}

INSHack2018 so deep

下载附件,用audacity查看音频频谱

用DeepSound打开wav,发现需要密码

通过deepsound2john.py脚本来获得密码的hash值

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#! python3

import logging
import os
import sys
import textwrap

def decode_data_low(buf):
return buf[::2]

def decode_data_normal(buf):
out = bytearray()
for i in range(0, len(buf), 4):
out.append((buf[i] & 15) << 4 | (buf[i + 2] & 15))
return out

def decode_data_high(buf):
out = bytearray()
for i in range(0, len(buf), 8):
out.append((buf[i] & 3) << 6 | (buf[i + 2] & 3) << 4 \
| (buf[i + 4] & 3) << 2 | (buf[i + 6] & 3))
return out


def is_magic(buf):
# This is a more efficient way of testing for the `DSCF` magic header without
# decoding the whole buffer
return (buf[0] & 15) == (68 >> 4) and (buf[2] & 15) == (68 & 15) \
and (buf[4] & 15) == (83 >> 4) and (buf[6] & 15) == (83 & 15) \
and (buf[8] & 15) == (67 >> 4) and (buf[10] & 15) == (67 & 15) \
and (buf[12] & 15) == (70 >> 4) and (buf[14] & 15) == (70 & 15)

def is_wave(buf):
return buf[0:4] == b'RIFF' and buf[8:12] == b'WAVE'


def process_deepsound_file(f):
bname = os.path.basename(f.name)
logger = logging.getLogger(bname)

# Check if it's a .wav file
buf = f.read(12)
if not is_wave(buf):
global convert_warn
logger.error('file not in .wav format')
convert_warn = True
return
f.seek(0, os.SEEK_SET)
# Scan for the marker...
hdrsz = 104
hdr = None
while True:
off = f.tell()
buf = f.read(hdrsz)
if len(buf) < hdrsz: break
if is_magic(buf):
hdr = decode_data_normal(buf)
logger.info('found DeepSound header at offset %i', off)
break
f.seek(-hdrsz + 1, os.SEEK_CUR)
if hdr is None:
logger.warn('does not appear to be a DeepSound file')
return
# Check some header fields
mode = hdr[4]
encrypted = hdr[5]
modes = {2: 'low', 4: 'normal', 8: 'high'}
if mode in modes:
logger.info('data is encoded in %s-quality mode', modes[mode])
else:
logger.error('unexpected data encoding mode %i', modes[mode])
return
if encrypted == 0:
logger.warn('file is not encrypted')
return
elif encrypted != 1:
logger.error('unexpected encryption flag %i', encrypted)
return
sha1 = hdr[6:6+20]
print('%s:$dynamic_1529$%s' % (bname, sha1.hex()))
if __name__ == '__main__':
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--verbose', '-v', action='store_true')
parser.add_argument('files', nargs='+', metavar='file',
type=argparse.FileType('rb', bufsize=4096))
args = parser.parse_args()
if args.verbose:
logging.basicConfig(level=logging.INFO)
else:
logging.basicConfig(level=logging.WARN)
convert_warn = False
for f in args.files:
process_deepsound_file(f)
if convert_warn:
print(textwrap.dedent.rstrip(), file=sys.stderr)

使用Kali的john工具来暴力破解

1
2
python3 deepsound2john.py final_flag.wav > hash.txt
john hash.txt

deepsond打开

最后flag为

1
flag{Aud1o_st3G4n0_1s_4lwayS_Th3_S4me}

[QCTF2018]X-man-Keyword

下载附件

lsb隐写,密码lovekfc

把给出的keyword放到前面,从26个英文字母里把 “lovekfc”提出来放到前面做密钥

1
lovekfcabdghijmnpqrstuwxyz

Nihilist解密

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# -*- coding:utf-8 -*-
import string

ciphertext = 'PVSF{vVckHejqBOVX9C1c13GFfkHJrjIQeMwf}'
secretkey = 'lovekfcabdghijmnpqrstuwxyz'
plaintext = ''

for letter in ciphertext:
if letter in string.ascii_lowercase:
index = secretkey.lower().index(letter)
plaintext += string.ascii_lowercase[index]
continue
if letter in string.ascii_uppercase:
index = secretkey.upper().index(letter)
plaintext += string.ascii_uppercase[index]
continue
plaintext += letter

print(plaintext)

运行得到

最后flag为

1
flag{cCgeLdnrIBCX9G1g13KFfeLNsnMRdOwf}

[INSHack2017]10-cl0v3rf13ld-lane-signal

下载附件

010查看find_me.unk文件

发现末尾有ogg字符

百度搜索ogg

010提取保存并用audacity打开文件

摩斯密码

1
.. -. ... .- -.--. -- ----- .-. ..... ...-- ..--.- .-- .---- .-.. .-.. ..--.- -. ...-- ...- ...-- .-. ..--.- ....- --. ...-- -.-.-- -.--.-

摩斯解密

最后flag为

1
flag{M0R53_W1LL_N3V3R_4G3!}

一路到底

下载附件

查看第一个txt


发现20555转十六进制是504b

依次取出所有的数字,转换为十六进制再以字节流的形式写入txt里

exp:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import binascii
hex_data = ''
with open('E:\\脚本合集\\misc\\buuctf misc\\数--hex--字符串\\files\\start.txt') as f:
data = f.read()
next = data[-36:]
# print(next)
hex_data += hex(int(data[0:data.find(':')-1]))[2:]
# print(hex_data)
while True:
try:
with open('E:\\脚本合集\\misc\\buuctf misc\\数--hex--字符串\\files\\'+next,'r+') as k:
data = k.read()
next = data[-36:]
hex_data += (hex(int(data[0:data.find(':') - 1]))[2:]).zfill(4)
except IOError:
break
with open('E:\\脚本合集\\misc\\buuctf misc\\数--hex--字符串\\files\\output.txt','wb') as n:
n.write(hex_data.encode(encoding = "utf-8"))

然后赛博厨子转zip

解压压缩包发现有密码

爆破密码

解压压缩包

010查看图片

发现是jpg文件,修改文件头为jpg文件头:FF D8 FF E0

保存并打开文件

最后flag为

1
flag{0c6b489ca956e2fd94dce12be4bf0729}

[MRCTF2020]寻找xxx

下载附件是音频文件,拨号声音,使用dtmf2num

发现提交公众号不对

拨号频谱表

sonic visualier打开

对照拨号频谱表得到

1
18684221609

发送到 天璇merak公众号得到flag

最后flag为

1
flag{Oh!!!!!_Y0u_f1nd_my_secret}

[羊城杯 2020]signin

题目描述:

1
玩具总动员里面,巴斯光年成功上天,胡迪给他发了一段加密短信,但是不知道是什么?你能帮巴斯光年破解吗?胡迪给了一段明文,一表人才,二表倒立,相信聪明的你一定可以帮助他吧! 得到的 flag 需要包上 flag{} 提交。

下载附件

1
BCEHACEIBDEIBDEHBDEHADEIACEGACFIBDFHACEGBCEHBCFIBDEGBDEGADFGBDEHBDEGBDFHBCEGACFIBCFGADEIADEIADFH

根据题目描述 玩具总动员想到toy加密

参考https://eprint.iacr.org/2020/301.pdf

写脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
list1 = {'M':'ACEG','R':'ADEG','K':'BCEG','S':'BDEG','A':'ACEH','B':'ADEH','L':'BCEH','U':'BDEH','D':'ACEI','C':'ADEI','N':'BCEI','V':'BDEI','H':'ACFG','F':'ADFG','O':'BCFG','W':'BDFG','T':'ACFH','G':'ADFH','P':'BCFH','X':'BDFH','E':'ACFI','I':'ADFI','Q':'BCFI','Y':'BDFI'}
list2 = original_list = ['M','R','K','S','A','B','L','U','D','C','N','V','H','F','O','W','T','G','P','X','E','I','Q','Y']
list2_re =list2[::-1]

ori_str = 'BCEHACEIBDEIBDEHBDEHADEIACEGACFIBDFHACEGBCEHBCFIBDEGBDEGADFGBDEHBDEGBDFHBCEGACFIBCFGADEIADEIADFH'

flag_1 = ''
for i in range(0,len(ori_str),4):
_val = ori_str[i:i+4]
for key, val in list1.items():
if val == _val:
flag_1 += key
print(flag_1)
flag = ''
for i in flag_1:
for j,k in enumerate(list2):
if i == k:
print(i+"--"+k)
flag += list2_re[j]
print(flag)
print(flag)

运行得到

最后flag为

1
flag{TOYSAYGREENTEAISCOOL}

[HDCTF2019]信号分析

下载附件是音频文件,audacity打开

长的是1,短的是0

1
0101010101010101000000110

百度得知:PT2242信号:前面4bit表示同步码,中间的20bit表示地址码,后面的4bit表示功能码,最后一位是停止码

01 代表 F,00 代表 0,11 代表 1,最后的0是结束符

得到:FFFFFFFF0001

最后flag为

1
flag{FFFFFFFF0001}

[DASCTF 2023 & 0X401七月暑期挑战赛]签到题

签到题

最后flag为

1
flag{DASCTF7_0x401_Happy}

[DASCTF X BUUOJ 五月大联动]签到

签到题

最后flag为

1
flag{welcome_to_dasctf_may}

[SUCTF2018]dead_z3r0

下载附件,010查看

pyc文件,提取出来,直接使用stegosaurus

最后flag为

1
flag{Z3r0_fin411y_d34d}

[羊城杯 2020]TCP_IP

下载附件

IP数据报隐写

1
tshark -r attachment.pcap -T fields -e ip.id > data.txt

脚本处理数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import binascii
import base64
import base91

data = ""
with open("E:\\脚本合集\\misc\\buuctf misc\\shuju\\data.txt","r") as file:
data = file.readlines()

newdata =[]
for da in data:
temp = da.strip("\n")[-2:]
newdata.append(temp)
strs = "".join(newdata)

strr = binascii.unhexlify(strs)
print(base91.decode(strr.decode()))

运行得到

最后flag为

1
flag{wMt84iS06mCbbfuOfuVXCZ8MSsAFN1GA}

[DASCTF X CBCTF 2023|无畏者先行]签到

签到题

最后flag为

1
flag{welcome_to_cbctf_2023}

[watevrCTF 2019]Unspaellablle

下载附件

原文

Children Of The Gods Transcript at IMSDb.

文本对比

最后flag为

1
flag{icantspeel_tiny.cc/2qtdez}

[BSidesSF2019]thekey

下载附件

ctf-natA一把梭

最后flag为

1
flag{MY_FAVOURITE_EDITOR_IS_VIM}

[INSHack2019]Passthru

下载附件

TLS解密

Tshark提取数据

1
tshark -r capture.pcap -o 'ssl.keylog_file:sslkey.log' -Y 'http contains "GET /searchbyimage"' -T fields -e http.request.uri.query.parameter > outdata.txt

脚本处理

1
2
3
4
5
6
7
8
9
10
11
12
#Written by: mochu7
import binascii
from urllib.parse import unquote

flag=b''
with open('E:\\脚本合集\\misc\\buuctf misc\\ins\\outdata.txt') as f:
for line in f.readlines():
line = unquote(line)
hexdata = line[line.find('kcahsni=')+8:line.find(',')]
hexstring = binascii.unhexlify(hexdata)
flag += hexstring
print(flag[::-1])

运行得到

最后flag为

1
flag{b274dddb2c7707ebe430dadcf1245c246713502d6e9579f00acd10a83f3da95e}

[NPUCTF2020]碰上彩虹,吃定彩虹!

下载附件

lookatme.txt

1
achnrvxzzuglarucalznwcygfggrufryvbzqjoxjymxvchhhdmliddcwmhghclpebtzwlojvew

autoket解密

1
"YOUHAVEFOUNDME", CONGRATULATION SON FINDING MY SECRET NOW I WILL GIVE YOU THE PASSWORD IT IS IAMTHEPASSWD

maybehint.txt

1
2
emmmmm...
something important was hidden in txt​​​​​​‌​‍​‌​​​​​​‌‌​‌​​​​​​​​‌​‌‍​​​​​​‌‌‌​​​​​​​​​‌​‌‍​​​​​​‌​‍‍‍​​​​​​‌‌​​‍​​​​​​‌‌​‌​​​​​​​‌‌‌​‍​​​​​​​‌​‌‍​​​​​​​‍‍‍​​​​​​​‌​​‌​​​​​​​​‍‌‍‌​​​​​​‌​​​‍​​​​​​​‍‌​​, but I can't find it!

零宽隐写

ntfs隐写

词频统计

base解密

1
encrypto

010查看secret文件

将secret后缀改为 .crypto,密码即上面得到的密码,要小写:

1
iamthepasswd

去掉多余信息解密

查看RGB值

从上到下依次

1
2
3
4
5
6
7
8
ffff70
ffff40
ffff73
ffff73
ffff57
ffff64

704073735764

解HEX得到密钥p@ssWd

foremost分离图片

解压压缩包查看docx文件

ALPHUCK解密

alphuck在线运行,在线工具,在线编译IDE_w3cschool

最后flag为

1
flag{1t's_v3ry_De1iCi0us~!}

[羊城杯 2020]逃离东南亚

下载附件

查看日记1

宽高一把梭

解压日记2,静默之眼隐写

解压日记3

Tab和空格隐写

exp:

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import os


def get_file_list(dir_path):
_file_list = os.listdir(dir_path)
file_list = []
for file_str in _file_list:
new_dir_path = dir_path + '\\' + file_str
if os.path.isdir(new_dir_path):
file_list.extend(get_file_list(new_dir_path))
else:
file_list.append(new_dir_path)
return file_list


def get_target_file_list(files: list) -> list:
target_file_list = []
for file_str in files:
f = open(file_str, 'r', encoding='utf-8')
try:
data = f.read()
if ' \t \t' in data:
target_file_list.append(file_str)
except:
pass
else:
return target_file_list


def bin2asc(string):
temp = ''
for i in range(int(len(string) / 8)):
temp += chr(int(string[i * 8: i * 8 + 8], 2))
return temp


def get_flag(files: list):
r = ''
for file in files:
with open(file, 'r') as ff:
for line in ff.readlines():
if '}' in line:
index = line.index('}')
data = line[index + 1:-1]
if '\t' and ' ' in data:
t1 = data.replace('\t', '1')
t = t1.replace(' ', '0')
if len(t) == 8:
r += bin2asc(t)
r += '\n'
else:
return r


if __name__ == '__main__':
files_list = get_file_list(r'E:\\脚本合集\\misc\\buuctf misc\\kgtab\\source_code')
flag = get_flag(get_target_file_list(files_list))
print(flag)

运行得到

最后flag为

1
flag{code_steganography_1s_funny!}

[NPUCTF2020]签到

下载附件

附件下下来是个MC的地图,所以直接开游戏!

看大佬视频

[NPUCTF2020]签到_哔哩哔哩_bilibili

二进制转字符,字符MD5大写加密,

最后flag为

1
flag{8F108D05D23041B5866F9CB2FF109661}

[DASCTF 2023六月挑战赛|二进制专项]签到

签到题

最后flag为

1
flag{Welcome_to_DASCTF5}

[BSidesSF2020]barcoder

下载附件

修复条形码

扫描条形码

最后flag为

1
flag{way_too_common} 

[INSHack2018]Spreadshit

下载附件

excel 空格替换

最后flag为

1
flag{3cf6463910edffb0}

文章作者: yiqing
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 yiqing !
  目录