实验吧CTF题库-安全杂项

  • XDCTF misc200:

题目提示:

下载文件

用foremost分离文件

接下来用archpr 4.53进行明文攻击

先把00002700.zip中的readme.txt提取出来压缩成zip文件

打开archpr 4.53

点击开始,开始攻击

成功,点击确定

保存

然后打开文件

得到flag

  • NSCTF misc250:

题目信息:


下载文件,用wireshark打开

题目提示下载,搜索一下http

接下来把下载的key.rar提取出来

选择这个,右键,导出分组字节流,也可以直接按Ctrl+h

保存为rar文件,打开

需要密码

再把下载的页面提取出来

保存为1.html,打开

密码是nsfoucs后面加上5位数字,+不算

生成字典

用archpr 4.53爆破

爆破成功

打开rar文件

得到flag

  • ROT-13变身了:

题目:

打开解题链接

要减13,才能转成正确的ascii码

a = [83,89,78,84,45,86,96,45,115,121,110,116,136,132,132,132,108,128,117,118,134,110,123,111,110,127,108,112,124,122,108,118,128,108,131,114,127,134,108,116,124,124,113,108,76,76,76,76,138,23,90,81,66,71,64,69,114,65,112,64,66,63,69,61,70,114,62,66,61,62,69,67,70,63,61,110,110,112,64,68,62,70,61,112,111,112]

for i in a:
	j = chr(i -13)
	flag = "".join(j)
	print(flag)

运行得到的结果为

爆破md5

import hashlib

flag_md5 = '38e4c352809e150186920aac37190cbc'

strs = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&()*+,-./:;<=>?@[]^_`{|}~ "

for a in strs:
	for b in strs:
		for c in strs:
			for d in strs:
				md5 = hashlib.md5()
				flag = 'flag{www_shiyanbar_com_is_very_good_' +str(a)+str(b)+str(c)+str(d)+'}'
				md5.update(flag.encode())
				if md5.hexdigest() == flag_md5:
					print(flag)

运行结果

得到flag

  • flag.xls:

题目提示:

下载文件

打开,发现有密码

换notepad++打开

搜索flag

得到flag

  • 紧急报文:

题目内容:

这题是ADFGVX加密

对照着表去解

解出

即可得到flag,flag_Xd{hSh_ctf:flagxidianctf}

  • 解码磁带:

打开解题链接

得到题目内容:

你的老板刚刚得到了一卷磁带,但与一般的磁带不同的是,在这圈磁带上有一些字符'o'和下划线'_'。由于你学过计算机和信息加解密,自然而然,解码磁带的这项任务就落到了你肩上。为了帮助你解码,下面会先给出一个解码样例: 解码样例:
o____o_
oo__o_o
oo_o__o
oo_o_o_
oo_o__o
oo_ooo_
oo__ooo
_o_ooo_
上面的磁带片段解码为:Beijing.
-----------------------------------------------------------------------------------------------------------------

o_o_ooo
oo_o___
oo__o_o
ooo__o_
oo__o_o
_o_____
ooo_o__
oo_o___
oo__o_o
ooo__o_
oo__o_o
_o_____
oo_o__o
ooo__oo
_o_____
oo____o
_o_____
ooo_ooo
oo_o__o
oo_oo__
oo_oo__
_o_oo__
ooo_o__
oo_o___
oo__o_o
ooo__o_
oo__o_o
_o_____
oo_o__o
ooo__oo
_o_____
oo____o
_o_____
ooo_ooo
oo____o
oooo__o
_o_ooo_
那么,现在该你解码了......

key格式:simCTF{}

前面有八行,刚好"Beijing."也有八个字符,可能一行对应一个字符,想到ascii码

内容只有'o'和'_',想到二进制

但是不知道'o'和'_'对应的是0还是1

看了一下,'o'对应1,'_'对应0

把Beijing.那个密文保存为1.txt,需要解密的保存为2.txt

写个脚本跑一下

one = '1'
zero = '0'
str_list = []
str_list_2 = []

f = open('1.txt', 'r')
for i in f:
	j = i.replace('o', one).replace('_', zero).strip()
	k = chr(int(j, 2))
	str_list.append(k)
	strs = ''.join(str_list)
	if strs == 'Beijing.':
		fq = open('2.txt', 'r')
		for a in fq:
			b = a.replace('o', one).replace('_', zero).strip()
			c = chr(int(b, 2))
			str_list_2.append(c)
			flag = ''.join(str_list_2)
			
flag = "simCTF{" + flag + "}"
print(flag)

运行

得到flag

原文地址:https://www.cnblogs.com/sch01ar/p/8877379.html