攻防世界misc部分

news/2025/2/13 10:48:27/文章来源:https://www.cnblogs.com/arui-li/p/18578982

[攻防世界]1-misc

解题

{292104C3-C40E-4C7F-A981-DD14FEAB0DB1}.png

根据提示“生日”,猜测8位数暴力破解,大概试一下20000000开始,不然一个小时太久了

{4E43B4D7-8E14-41EA-821B-1BBE3873C942}.png

得到口令20001228

{5CEFEAF0-AE37-4073-9460-479511924E82}.png

又是压缩包,注意CRC,与上图2.zip中相同,猜测明文破解

[攻防世界]BotW-

题目

MASTER USING IT AND YOU CAN HAVE THIS.

分析

图片隐写

解题

{03C04282-54C2-4A6C-9362-A7CD8ACF8350}.png

某某装备吧,逐日之弓

图片隐写,分离一下

果然有东西

{EE0C583A-8D54-4828-8BDB-67F8C24430C3}.png

回到题目MASTER USING IT AND YOU CAN HAVE THIS.

搜一下

{99753C81-163D-4570-B5E2-E1B9732D8DED}.png

点开“游戏家的浪漫”,还真有

{81BB2DCE-DA2B-4D5C-A235-2107E5A17F6D}.png

flag{canzeldagetduplexbow}

[攻防世界]CatFlag

题目描述:Just cat flag or type flag

解题

下载得到未知明文件

{9A2725B2-29CA-4B07-BACB-E6D7D9E9B5E9}.png

没有发现什么,回去看一眼题目

原来linux中有cat与tpye两个命令

linux 花样读文件 - CSDN文库

那就直接使用一下

{3AE53A09-5006-46F8-BE01-CB46030F962C}.png


知识点:linux读文件口令

[攻防世界]challenge_how_many_Vigenère

{986BF97D-919F-4DA2-9002-F5983087C930}.png

分析

下载得到一堆字符串,分析题目,维吉尼亚

Vigenere算法加密和解密原理及其实现_vigenere密码算法-CSDN博客

没有提供key,这里有个爆破

Vigenere Solver | guballa.de

先就跟着题目要求一步一步来

解题

{734EB377-3063-4832-A8F6-171ABD659FBB}.png

进入网址爆破

{270E64B4-AAF1-4161-AC57-0EC946A93FE4}.png

得到key

ohihzkssefkmqxqbkihybnynvndzkdlqvhwhgywaftmeteecqprzjczvnmhnzwyasmlwbwvaqitejbfofycejjlcbpk

result

aliceleavestheteapartyandentersthegardenwhereshecomesuponthreelivingplayingcardspaintingthewhiterosesonarosetreeredbecausethequeenofheartshateswhiterosesaprocessionofmorecardskingsandqueensandeventhewhiterabbitentersthegardenalicethenmeetsthekingandqueenthequeenafiguredifficulttopleaseintroduceshertrademarkphraseoffwithhisheadwhichsheuttersattheslightestdissatisfactionwithasubjectaliceisinvitedorsomemightsayorderedtoplayagameofcroquetwiththequeenandtherestofhersubjectsbutthegamequicklydescendsintochaosliveflamingosareusedasmalletsandhedgehogsasballsandaliceonceagainmeetsthecheshirecatthequeenofheartsthenordersthecattobebeheadedonlytohaveherexecutionercomplainthatthisisimpossiblesincetheheadisallthatcanbeseenofhimbecausethecatbelongstotheduchessthequeenispromptedtoreleasetheduchessfromprisontoresolvethematter

得到作品《爱丽丝梦游仙境》Alice's Adventures in Wonderland

再根据题目意思加密作品名字

维吉尼亚加密/解密 - Bugku CTF平台

{169B91AA-C6E8-4BD9-92CB-DE5FAA4E9D0B}.png

得到flag


知识点:维吉尼亚爆破

[攻防世界]check

分析

{BBD42AA1-22B9-483A-BF7C-C2DF72697F39}.png

图片隐写,看看属性,考虑宽高,文头文尾,分离,LSB。。。。。。

在LSB中发现线索

解题

{2FEB820D-1530-4FCB-A38D-3BCB2EFB713D}.png

这是一段HTML解码HTML编码解码

在notepad中将其提取出来

{BD68F13A-F101-476F-A61B-32786CBE533C}.png

{2787332E-8B89-4B53-8829-85DFC1313379}.png

得到flag{h0w_4bouT_enc0de_4nd_pnG}


看到这么一段

{294398DF-F5A8-47C6-981E-5E9C70261906}.png

于是改后缀为html

{A140C4AB-83A7-4443-8C46-087E3EF3AAF1}.png


知识点:图片隐写,LSB,html编码

[攻防世界]Disk

分析

下载得到vmdk,凡事放入010

解题

{FD6A3146-5D22-487D-9BAE-37EEAE7C541E}.png

flag is not here 此地无银三百两

在下面获得4组数,二进制

0110011001101100011000010110011101
1110110011010001000100010100110101
1111001100010110111001011111010001
0000110001011100110110101101111101

2进制到ASCII字符串在线转换工具 - Coding.Tools

{FC1DE740-EFF5-4BBD-9F74-86BD1DA4C2A5}.png

得到flag{4DS_1n_D1sk}

[攻防世界]Just-No-One

解题

下载得到exe文件

{DF9D725E-9FB9-455C-BB7E-C7B3549EC493}.png

一路next,需要密码

{B2527C96-52B1-4039-B957-9F724D5D1D27}.png

接下来就离谱了

放入010,ida无果

看一眼wp

{D0C23218-179C-492E-B0D1-0D67226C5E17}.png

YOU MAY SUBMIT THIS TO GET TEN POINTS: ILOVEREADINGEULAS.

即答案(没有flag{}):

ILOVEREADINGEULAS


知识点:阅读安装协议

[攻防世界]m0_01

分析

下载得到一个流量包,usb流量知识点

{F5856186-12DD-4441-BB05-79103CA78583}.png

解题

在winshark中提取USB指定的4个字节

tshark提取流量

tshark -r 12.pcapng -T fields -e usb.capdata > usbdata.txt
如果提取出来的数据有空行可以将命令改为如下形式
tshark -r 12.pcapng -T fields -e usb.capdata | sed '/^\s*$/d' > usbdata.txt

或者工具去空行符

在线文本去空行工具 - UU在线工具

{D6E3CCEF-7C79-43FC-8AA6-04091BBEDBAB}.png

在Wireshark中得到该txt文件

{EAD5C59E-7CF0-47DD-A50E-795A64A094D0}.png

然后运行这个脚本???

第一次遇到这种题,有些懵逼

f=open('usbdata.txt','r')
fi=open('out.txt','w')
while 1:a=f.readline().strip()if a:if len(a)==16: # 鼠标流量的话len改为8out=''for i in range(0,len(a),2):if i+2 != len(a):out+=a[i]+a[i+1]+":"else:out+=a[i]+a[i+1]fi.write(out)fi.write('\n')else:breakfi.close()normalKeys = {"04":"a", "05":"b", "06":"c", "07":"d", "08":"e","09":"f", "0a":"g", "0b":"h", "0c":"i", "0d":"j","0e":"k", "0f":"l", "10":"m", "11":"n", "12":"o","13":"p", "14":"q", "15":"r", "16":"s", "17":"t","18":"u", "19":"v", "1a":"w", "1b":"x", "1c":"y","1d":"z","1e":"1", "1f":"2", "20":"3", "21":"4","22":"5", "23":"6","24":"7","25":"8","26":"9","27":"0","28":"<RET>","29":"<ESC>","2a":"<DEL>", "2b":"\t","2c":"<SPACE>","2d":"-","2e":"=","2f":"[","30":"]","31":"\\","32":"<NON>","33":";","34":"'","35":"<GA>","36":",","37":".","38":"/","39":"<CAP>","3a":"<F1>","3b":"<F2>", "3c":"<F3>","3d":"<F4>","3e":"<F5>","3f":"<F6>","40":"<F7>","41":"<F8>","42":"<F9>","43":"<F10>","44":"<F11>","45":"<F12>"}
shiftKeys = {"04":"A", "05":"B", "06":"C", "07":"D", "08":"E","09":"F", "0a":"G", "0b":"H", "0c":"I", "0d":"J","0e":"K", "0f":"L", "10":"M", "11":"N", "12":"O","13":"P", "14":"Q", "15":"R", "16":"S", "17":"T","18":"U", "19":"V", "1a":"W", "1b":"X", "1c":"Y","1d":"Z","1e":"!", "1f":"@", "20":"#", "21":"$","22":"%", "23":"^","24":"&","25":"*","26":"(","27":")","28":"<RET>","29":"<ESC>","2a":"<DEL>", "2b":"\t","2c":"<SPACE>","2d":"_","2e":"+","2f":"{","30":"}","31":"|","32":"<NON>","33":"\"","34":":","35":"<GA>","36":"<","37":">","38":"?","39":"<CAP>","3a":"<F1>","3b":"<F2>", "3c":"<F3>","3d":"<F4>","3e":"<F5>","3f":"<F6>","40":"<F7>","41":"<F8>","42":"<F9>","43":"<F10>","44":"<F11>","45":"<F12>"}
output = []
keys = open('out.txt')
for line in keys:try:if line[0]!='0' or (line[1]!='0' and line[1]!='2') or line[3]!='0' or line[4]!='0' or line[9]!='0' or line[10]!='0' or line[12]!='0' or line[13]!='0' or line[15]!='0' or line[16]!='0' or line[18]!='0' or line[19]!='0' or line[21]!='0' or line[22]!='0' or line[6:8]=="00":continueif line[6:8] in normalKeys.keys():output += [[normalKeys[line[6:8]]],[shiftKeys[line[6:8]]]][line[1]=='2']else:output += ['[unknown]']except:passkeys.close()flag=0
print("".join(output))
for i in range(len(output)):try:a=output.index('<DEL>')del output[a]del output[a-1]except:passfor i in range(len(output)):try:if output[i]=="<CAP>":flag+=1output.pop(i)if flag==2:flag=0if flag!=0:output[i]=output[i].upper()except:passprint ('output: ' + "".join(output))

{20C9178A-9E0D-4AE7-ACF3-F70E4AF9AC8E}.png

wp说这是云影密码(由84210组成)

{BD45B4F1-5852-4CC7-B390-F4B0AE2F1A3A}.png

得出THISISFLAG


补充

云影密码

Crypto入门 (六)幂数加密(云影密码) - 缘初 - 博客园

{43F93ABF-69C6-4C6D-9AE7-4EC2E7E6C994}.png

感动!

一段大佬的解码脚本

a="8842101220480224404014224202480122"
s=a.split('0')
print(s)
l=[]
for i in s:sum=0for j in i:sum+=eval(j)l.append(chr(sum+64))
print(''.join(l))

USB流量

USB流量分析

[攻防世界]message

image-20241130211151956

解题

下载得到一大段字符串

7fffffffffffffffffffffffffffffffbffff0e10419dff07fdc3ffdaeab6deffdbfff6ffed7f7aef3febfffb7ff1bfbc675931e33c79fadfdebbae7aeddedb7dafef7dc37df7ef6dbed777beedbedb77b6de24718f260e0e71879fffffffffffffffffffffffffffffffffffffffffff07f87fc7f9ffffffffdbfbbfdbfeffffffffebfdffdfff7ffffff871c33e6fe7bffffffd5aefeed62dcffffffeadf9fb8bb0efffffff56df5db6dbf7ffffffaa0c21e19e3bffffe07ffffffffff9fffffffffffffffffffffffffffffffffffffff

刚开始还以为是按数量排序字符串,当然,失败了

直接解码也是失败告终

观察字符串,09,af,像是16进制,将其转换成二进制0与1分布有何特点或者二维码啥的

image-20241130211729901

然而并无发现,看了wp,原来这个样子

image-20241130211809312

运行代码

def print_fixed_width(text, width=73):for i in range(0, len(text), width):print(text[i:i+width])# 示例字符串
input_text = "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111100001110000100000100000110011101111111110000011111111101110000111111111111011010111010101011011011011110111111111101101111111111111101101111111111101101011111110111101011101111001111111110101111111111111110110111111111110001101111111011110001100111010110010011000111100011001111000111100111111010110111111101111010111011101011100111101011101101110111101101101101111101101011111110111101111101110000110111110111110111111011110110110110111110110101110111011110111110111011011011111011011011011101111011011011011110001001000111000110001111001001100000111000001110011100011000011110011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111100001111111110001111111100111111111111111111111111111111111110110111111101110111111110110111111111011111111111111111111111111111111111010111111110111111111110111111111111101111111111111111111111111111000011100011100001100111110011011111110011110111111111111111111111111111101010110101110111111101110110101100010110111001111111111111111111111111110101011011111100111111011100010111011000011101111111111111111111111111111010101101101111101011101101101101101101111110111111111111111111111111111101010100000110000100001111000011001111000111011111111111111111111100000011111111111111111111111111111111111111111111001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"# 调用函数
print_fixed_width(input_text)

image-20241130213130113

用笔画一下得到flag

或者运行

import binascii
import numpy as np
from matplotlib import pyplot as plt# 原始十六进制字符串
x = '7fffffffffffffffffffffffffffffffbffff0e10419dff07fdc3ffdaeab6deffdbfff6ffed7f7aef3febfffb7ff1bfbc675931e33c79fadfdebbae7aeddedb7dafef7dc37df7ef6dbed777beedbedb77b6de24718f260e0e71879fffffffffffffffffffffffffffffffffffffffffff07f87fc7f9ffffffffdbfbbfdbfeffffffffebfdffdfff7ffffff871c33e6fe7bffffffd5aefeed62dcffffffeadf9fb8bb0efffffff56df5db6dbf7ffffffaa0c21e19e3bffffe07ffffffffff9fffffffffffffffffffffffffffffffffffffff'
# 将十六进制字符串转换为二进制,并去除前缀'0b'
x = np.array(list(bin(int(x, 16))[2:]), dtype=np.uint8)# 定义图像的行数
n = 23
# 重塑数组并显示图像
plt.imshow(x.reshape(n, -1), cmap='gray')  # 使用灰度颜色映射
plt.show()  # 显示图像

直接可视化得到flag

image-20241130213319207

[攻防世界]Miscellaneous-200

分析

下载得到txt,内容也比较奇特

{B08B8D70-6E2B-4410-B109-33796B491C7F}.png

搜一下,大致和RGB有关

{CA0566CB-D612-45CF-8029-28383AAB5F10}.png

解题

{CCCE1334-9641-4C2A-9353-39EEC95207D7}.png

通过代码创建一幅图,将每一行数据当做像素值写入图片

from ast import literal_eval
from PIL import Image  #导入Python图像库PIL(Python Imaging Library)中的Image模块,用于图像处理。
f = open('62f4ea780ecf4e6bbef5f40d674ec073.txt', 'r')
corl = [literal_eval(line) for line in f.readlines()] #读取文件的每一行,并使用literal_eval函数将每行的内容(假设是可评估的Python表达式,比如元组)转换成Python对象(在这个上下文中,可能是颜色值),并将这些对象存储在列表corl中。
f.close()
img = Image.new('RGB', (270, 270), '#ffffff')
k=0 #初始化一个计数器k,用于遍历corl列表
for i in range(246):for j in range(246):img.putpixel ([i , j], corl[k]) #在图像的第i行第j列的像素位置放置corl列表中索引为k的颜色值。k=k+1 #每次放置一个像素后,k的值增加1,以便在下一次迭代中使用corl列表中的下一个颜色值。
#   输出图片
img.save("flag.png")

得到如下图

{2A1E9745-2C22-4142-8F77-C0EB3EEC22F4}.png

凑合看一下(离谱了 括号与字母间还有空格)

flag{ youc@n'tseeme }

[攻防世界]Misc文件类型

解题

下载得到一串字符,应该是16进制

{DB2B41A5-50FE-414B-B1CF-8F59662EB3C7}.png

进行解码

{6BCCB1AC-05CF-4FDE-B71B-5B19ABB58D69}.png

46ESAB_UEsDBBQAAAAIAAldCFXqOw7cKAAAACYAAAAIAAAAZmxhZy50eHRLy0lMrzZISk02SEwxTkk0MjQ0TjY3SDU1SEsxNTM0T7JINU+zrAUAUEsBAhQAFAAAAAgACV0IVeo7DtwoAAAAJgAAAAgAJAAAAAAAAAAgAAAAAAAAAGZsYWcudHh0CgAgAAAAAAABABgAGxEfk9iq2AEbER+T2KrYAQJF+4rYqtgBUEsFBgAAAAABAAEAWgAAAE4AAAAAAA

开头的base64倒序了

起初,我以为整个字符串倒序,结果解码失败

注意:去掉前面的base64_; 长度只有254,需要再添加两个==

# 实现字符串倒序
def reverse_string(s):return s[::-1]# 使用函数
input_string = "Hello, World!"
reversed_string = reverse_string(input_string)
print(reversed_string)

那就去掉base64_正序

屏幕截图 2024-11-05 160301.png

下载txt文件

{FF267E5B-4CC5-4874-883E-2D5E2333E314}.png

flag{0bec0ad3da2113c70e50fd5617b8e7f9}


知识点:对编码的熟悉

[攻防世界]Peekaboo

比较简单的题目,但是很离谱,我一定要把这个wp写下来

{6B77CEE2-9D4B-4FB9-98CC-DD3BC27C62E2}.png

解题

下载得到一张图片

{DC6A4F5E-7A85-4EBA-8E33-03FF25D0BAB9}.png

王者荣耀盛世长安,还有我的本命英雄奕星

图片隐写,当然是对图片一顿分析,无果

回到题目“最后一次使用的英雄”

没错,flag就是每个英雄试一遍,得到百里玄策

CatCTF{bailixuance}

[攻防世界]Pixel-Princess

解题

下载得到一个压缩包

一开始用winrar解压。得到一串jpg字符

{9C28197C-3948-47D0-A2E8-69871733372C}.png

修改文件头发现没有,以为就是这么一个文件

后面卡住时看一眼wp发现原来这就有一个图片,换成7Z之后能解压出来

{CD9F10F3-A6AF-44A6-9F31-1167A7BE6597}.png

{B37620DE-A562-4ED6-A4D8-4458CCB4187A}.png

分离一下这个,得到MarioCastle.jpg

{69E43FB6-183F-40F6-91F4-9103E7497699}.png

得到一个密码:BaD_DR4G0N

没错,就是卡在了这里发现winrar解压出来的本应是一个图片文件

看了一下wp,原来这里还要分离

{A15C8E34-C24C-4B5C-8118-FBC629310A2C}.png

得到flag

[攻防世界]saleae

大部分题解在这里

https://arui-li.notion.site/b8cd06fe61f44bb4bce09e0f8d56530c?pvs=4

分析

下载得到一个logicdata文件

第一次见

回头看题目 saleae

下载saleae逻辑分析工具

这个题大致是这么使用的,些许懵逼……

1.open文件

2.选择SPI

3.修改参数,save

4.拖拉,得到flag

flag{12071397-19d1-48e6-be8c-784b89a95e07}


来自官方的解释:

看了依旧懵逼
求大佬给与解释

[攻防世界]steg没有py

分析

下载得到图片Do_you_like_misc.png

{2BC7D2D8-D787-478B-B8DD-20D707258591}.png

观察题目,使用工具stegpy

解题

指令中的密码就是文件名称(李大普)

{861923E0-CFD5-4195-A471-50228342A2C8}.png

以为那段就是flag,当然是错误的

看了wp,原来是仿射密码,涨知识了

CTF在线工具-在线仿射密码加密|在线仿射密码解密|仿射密码算法|Affine Cipher

{E9FA2D9B-A56B-47BF-A7F8-20FDE06612DC}.png

根据a,b范围以及上图给的a与b的运算关系得出a,b

{48F1CAF2-7BBE-4455-BBA0-6D30AA0C3055}.png

然后我一提交,诶,又错了

题目要求注意大小写,发现加密前大写位置,在解密后变成了小写,将解密后由大写变为小写的地方,再改回相应大写字母。

{AAAC41CE-BEB4-4464-AB04-7D3468B41205}.png

得到flag{4f71ne_c1ph3r_15_ffffunny!!}


知识点:新工具stegpy

[攻防世界]test.pyc

分析

下载得到一个pyc文件

解题

在kail在uncompyle6

uncompyle6 -o test.py test.pyc

{F59D2388-5F8B-4239-BD62-9430EE93DEF5}.png

得到

=cWbihGfyMzNllzZ0cjZzMWN5cTM4YjYygTOycmNycWNyYmM1Ujf
反转脚本
str = "=cWbihGfyMzNllzZ0cjZzMWN5cTM4YjYygTOycmNycWNyYmM1Ujf"
print(str[::-1])

反转得到base64

fjU1MmYyNWcyNmcyOTgyYjY4MTc5NWMzZjc0ZzllNzMyfGhibWc=

进行解码,得到

~552f25g26g2982b681795c3f74g9e732|hbmg

再次反转

gmbh|237e9g47f3c597186b2892g62g52f255~

凯撒

{43C0EDAE-1308-4821-82D7-C87CA75C86F4}.png

当我直接复制flag那一行,提交失败

发现只有字母变化,数字没变,将数字也往后移一位

不完全凯撒

所以我们抄一段脚本

c='gmbh|237e9g47f3c597186b2892g62g52f255~'
d=''
for i in range(0,len(c)):k = chr(ord(c[i])-1)d+=k
print(d)
flag{126d8f36e2b486075a1781f51f41e144}

知识点:反编译,凯撒,对字符的敏感

[攻防世界]Time_losing

这思路万万没想到……

题目

2033-05-18 11:33:20似乎是个好时间。

分析

下载压缩得到许多txt,内容为空

{FC19DE8D-B112-4281-9EDA-39CDE03874C2}.png

先看一下属性

{986AE1FE-AB70-4526-9825-B2F193166C41}.png

发现与题目大致相同的内容

时间戳转换工具 - 在线时间工具箱

{34D89BB7-E20A-415E-9C17-881D97E38662}.png

{2464ADC9-2123-44B2-AF56-E03FFF7898F9}.png

中间相差88

88是啥?????????

卡了

{989019A9-42F3-40C0-B4D4-3C7C3B6CAE9A}.png

88→X

这个题目来源于XMAN,难道下一个文件操作下来代表M?

#Author:Luci4n
import os,timeflag = ""
origin_time = 2000000000for i in range(0,47):file = r'./{0}.txt'.format(i) get_time = int(os.path.getmtime(file)) #获取最近修改时间key = get_time - origin_timeflag += chr(key)print(flag)

XMan{seems_to_be_related_to_the_special_guests}

[攻防世界]Usb-probing

分析

下载得到一个流量包

image-20241125132420238

猜测USB流量分析

解题

按照USB流量题进行题解

tshark -r 1.pcap -T fields -e usb.capdata > usbdata.txt

然而,并无发现

binwalk一下,看下是否有其他文件

image-20241125133111707

藏有png文件,尝试分离,分离失败

回到wireshark,过滤USB流量

image-20241125134111066

发现png

image-20241125135856112

将其复制进txt文件,在010editor导入该16进制保存为png格式

发现还是打不开,原来缺少png文件尾,加进去

image-20241125140103101

重新导入并保存,得到图片

image-20241125140207730

.......啥玩意?看了wp,原来要进浏览器查看

image-20241125140252295

[攻防世界]Wire1

解题

下载得到一个流量包

打开wireshark

首先,协议分级

{3BAF620F-7AE1-4956-BC3A-7B996F60BE7D}.png

发现http占比大,过滤http

先搜索flag,看看有没有发现

http contains "flag"

{0D2FCB38-53EB-4AAB-AC0B-59114898548D}.png

导出http

{B0B2ADF0-AF90-4A55-8EF3-CC619032DEF4}.png

按大小排序,102是f,猜测是flag,并且是几个flag重复排列在一起

咱不会脚本,直接一个一个输入

{74D91EEE-95E6-4F52-9F92-FBDF606784AF}.png

flag{w1reshARK_ez_1sntit}


对于后面提取数字一步,之前写过一道类似的可将其保存为excel表格进行提取,不过实验失败

{8D086685-6B37-4AB6-82E4-B92082766A86}.png

[攻防世界]不确定,再看看

题目

做题做累了吧,给你准备了一道钢琴曲,要仔细听哦!我藏得很深。

hint1:信息隐藏一般要求载体需要有一定的冗余度,而base64编码刚好就有这个特点。

解题

下载得到音频文件

放入Audacity,并无收获

解锁新工具Deepsound

主要用于处理音频文件的加密。以将敏感数据隐藏在音频文件中,从而实现数据的保密和安全传输。

得到txt文件base64.txt

解码


知识点:音频隐写,新工具Deepsound

[攻防世界]打野

解题

得到一张bmp文件

查看010,stegslove,暂时没啥发现

看了wp,学到一个新工具———zsteg

然后我一使用,出问题了

(but之前写另外一个题目没问题)

…………

时隔多日,我又回来了

如果zsteg出现栈报错“tack level too deep (SystemStackError)”,可以将命令改成“zsteg --msb 瞅啥.bmp”或“zsteg -o xY 1.bmp”,改变扫描顺序。 -o 是设置行列的读取顺序 --msb:most significant BIT comes first,最高有效位排在第一位

得出qwxf{you_say_chick_beautiful?}

[攻防世界]第四扩展FS

题目描述:

D公司正在调查一起内部数据泄露事件,锁定嫌疑人小明,取证人员从小明手机中获取了一张图片引起了怀疑。这是一道送分题,提示已经在题目里,日常违规审计中频次有时候非常重要。

分析

下载得到一张图片,比较大

{7B86C81D-0DFF-4580-B4AC-847F5C169E63}.png

考虑到文件分离

解题

分离后得到加密zip

回到题目“提示已经在题目里”

{4550193F-805D-4A54-93B9-0C001F25D9EB}.png

以为是啥线索,没想到就是密钥,打开zip

{5CBE7C9B-2A8E-4ABD-8799-74927CB7D86C}.png

再次回到题目“频次”

运行脚本

text = ""count = []
for i in range(256):count.append([i, 0])for ch in text:count[ord(ch)][1] += 1count.sort(key=lambda x: x[1], reverse=True)
for i in range(256):if count[i][1] > 0:print(chr(count[i][0]), end = "")

DCTF{ka1f4NgxIntAi}

然后答案错误??????

官方wp:DCTF{ka1f4NgxlntAi}

[攻防世界]很普通的Disco

分析

音频文件,查看是否有摩斯密码,二进制,频谱等

音频开头有一段空白,应该有问题

解题

超级放大,上1下0

{D174B455-EFC3-4D7A-BD17-086BF531241C}.png

110011011011001100001110011111110111010111011000010101110101010110011011101011101110110111011110011111101

{5C3A2FE4-FD6D-4174-BFB6-D7233163E2B0}.png

其实最前面还有一个,太可恶了!

s = '110011011011001100001110011111110111010111011000010101110101010110011011101011101110110111011110011111101'
flag = ''
for i in range(0,len(s),7):flag += chr(int('0'+s[i:i + 7],2))
print(flag)

得出flag


知识点:音频隐写,进制转换

[攻防世界]坚持60s

题目描述

菜狗发现最近菜猫不爱理他,反而迷上了菜鸡

我是菜狗

分析

下载得到一个jar文件

JAR 文件就是 Java Archive File,顾名思意,它的应bai用是与 Java 息息相关的,是 Java 的一du种文档格式。JAR 文件非常类似 ZIP 文件——zhi准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。

解题

放至010,发现这其实是个zip

{43734995-74E5-48F1-8884-392C82004836}.png

改后缀,里面有3个文件夹,文件夹内有许多文件,一个一个看还是比较容易找到flag(就在前几个文件中)

{E3225E70-C119-4A1C-B2E2-46C8FDC8FAFB}.png

{506FA552-712B-45CA-A05F-F35C231872E7}.png

直接提交失败,需要base64解码

得到flag{DajiDali_JinwanChiji}


上文提到,flag刚好在前面几个文件夹,如果在后面呢……

学到一个新工具id-gui

{85A473E9-A277-4813-9B14-AAAF30672081}.png


知识点:jar文件

[攻防世界]看雪看雪看雪

分析

得到一个rar文件,里面有一张jpg

南方孩子羡慕

按照图片隐写思路:

  • 属性
  • 010editor(隐藏文件分离,宽高)
  • stegslove

解题

按照刚才思路,没有什么发现

回头看看题目“看雪看雪看雪”,好像有个东西叫雪隐写

后面看wp,其实属性里面有提及过,只是我没有注意到…….

所以压缩包内可能有其他我看不见的文件

于是乎

将后面这一大段复制进sublime

看吧,里面还是有东西的

将其全部复制下来进一个新的txt文件,用snow工具

得到flag


知识点:图片隐写,snow隐写

[攻防世界]碎纸机11

分析

下载得到一堆图片

{092E5846-7B9D-42FA-A7A3-313403091C5F}.png

打开看一眼,应该是一个二维码被“分尸”了

解题

碎片的排列应该有个顺序,010editor,属性暂时没有发现

可能是文件时间,大小

将图片按日期递增排序,随后放入网站

在线合并JPG、PNG、SVG、WEBP图片

{F93A3DE2-96C2-40A8-B7EE-12A4095A82CB}.png

注意选择水平

得到二维码

{CB991B87-C490-47C3-8514-18B5A5B17FEA}.png

{B850D017-3F4E-4072-918C-348466D439EF}.png

[攻防世界]我们的秘密是绿色的

分析

下载得到一张图片,图片隐写

{D108FF63-161F-4A4F-B598-5571F9A1DE6B}.png

解题

常用的图片隐写思路好像没发现什么,网上搜索原来有个工具就叫oursecret

Our Secret可以隐藏文本,视频,音频,图像还有其他格式的文件,它创建的初衷是为了隐藏和发送敏感文件或消息。

[攻防世界]信号不好先挂了

分析

又是图片隐写

我也先挂了……

解题

save bin

保存后的zip还需要修复一下才能解压缩

……怎么里面又是这张图片

Misc隐写术 - Scr1pt? - 博客园

两张一样图片还可在stegslove合成图片

用BlindWaterMark这个工具一直报错(麻木)

直接打开puzzlesolve,得到图片


知识点:盲水印

信女愿一台不会报错的电脑

[攻防世界]再见李华

题目描述

李华的图片被弄脏了,你能帮忙看看弄脏的字符吗,要求不少于10000字,没有特殊字符

分析

得到一张图片

{935452E8-245B-42CD-AF99-B91CB148A2E3}.png

凡是去010里面看一眼

解题

{4F997A76-8D0D-403B-9620-A744BF7A6340}.png

在010里发现txt文件,foremost分离出来,得到压缩包,里面含有txt文件,需要密码

看一眼,也不是伪加密,使用爆破

掩码加密(离谱)

观察题目 不少于10000字

可能是?????LiHua 看了wp,题目提示错误,因该是????LiHua

{FB014BB6-C10E-4E8D-A0D3-EDBF4A94069D}.png

得到密码 15CCLiHua

打开得到

{24D435BF-BB98-43AC-81FB-DF894B491D0D}.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/844293.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Shell编程 - 函数篇

自建函数库 - 颜色字符串颜色 字符串输出颜色,有时候关键地方需要醒目,颜色是最好的方式:字体颜色 字体背景颜色 显示方式30:黑 40:黑 0:终端默认设置31:红 41:深红 1:高亮显示32:绿 42:绿 4:下划线33:黄 43:黄色 5:闪烁34:蓝色 44:蓝色 7:反白显示35:紫色 …

[NCTF2019]Fake XML cookbook

题目链接:[NCTF2019]Fake XML cookbook。 打开题目后,环境如下。随便发送一个登陆包后,查看请求包与响应包。尝试 XXE。 POST /doLogin.php HTTP/1.1 Host: f2f80df1-2df7-4b45-a1da-b06e22a5b17a.node5.buuoj.cn:81 Content-Length: 155 Accept: application/xml, text/xml…

9.2

import pandas as pd import scipy.stats as stats data = pd.read_excel(9.2.xlsx) data_values = data.values.flatten().tolist() statistic, p_value = stats.shapiro(data_values) print("Shapiro-Wilk 统计量:", statistic) print("p 值:", p_valu…

Java日志手机号脱敏工具类

背景 在开发过程中,很容易将用户敏感信息,例如手机号码、身份证等,打印在日志平台。为了保护用户数据,又不影响日志的打印,需要将日志中的敏感信息进行脱敏。效果没看明白,强烈建议 pull项目,执行一下项目中SensitiveUtils#main方法。特性支持多层级Json/对象字段脱敏 支…

SSM项目出现的依赖问题

在ssm项目中,整合后,依赖出现问题导致出现了一堆bug 例如:Controller扫描不到、TomCat启动时报错Listener一个或多个启动失败、spring配置文件找不到、TomCat启动时提示启动XXX功能失败 诸如此类一堆问题。。。。 找了很久发现是依赖的问题,项目使用的依赖过多,把之前项目…

高级语言程序设计第九次作业

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/2024C/ 这个作业要求在哪里: https://edu.cnblogs.com/campus/fzu/2024C/homework/13311 学号:092300125 姓名:张天荣 14.17 3. struct Month {char name[12];char nmee2[4];int day;int id; };#include <stdi…

linux安装intel编译器2018

加压软件/public/download/parallel_studio_2018.tgz进入目录后用./install.sh开始安装 按回车 这个选择1,然后需要输入lic激活文件路径。 安装完成后添加PATH到环境变量中 1、如果是普通用户,在用户的.bashrc里面添加 2、如果是root用户,在/etc/profile文件的最后一行添加 …

AGC 069

D. Tree and Intervals 感觉这个题可做啊,真该先开这个题的/fn \(x_i\) 可以看作一端 \(\le i\),另一端 \(>i\) 的边数,进一步可以转化为:把 \(\le i\) 的点染成黑色,\(>i\) 的点染成白色,得到的总连通块数。 考虑判定怎样的“总连通块数”序列是可以被生成的。 一…

基于特征子空间的高维异常检测:一种高效且可解释的方法

本文将重点探讨一种替代传统单一检测器的方法:不是采用单一检测器分析数据集的所有特征,而是构建多个专注于特征子集(即子空间)的检测器系统。 在表格数据的异常检测实践中,我们的目标是识别数据中最为异常的记录,这种异常性可以相对于同一数据集中的其他记录衡量,也可以相…

【机器学习算法】XGBoost原理

一、基本内容基本内容:GBDT的基础上,在损失函数上加入树模型复杂度的正则项与GBDT一样,也是使用新的弱学习器拟合残差(当前模型负梯度,残差方向)GBDT损失函数\[Loss = \sum_{i=1}^{N}L(y_i, y_i^{t}) \] XGboost损失函数\[Loss = \sum_{i=1}^{S}L(y_i, y_i^{t}) + \sum_{…

《网络与系统攻防技术》实验七

1.实验内容及要求 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法。具体实践有 (1)简单应用SET工具建立冒名网站 (2)ettercap DNS spoof (3)结合应用两种技术,用DNS spoof引导特定访问到冒名网站。 二、实验过程 (一)简单应用SET工具建…

HCIP-04 交换高级技术

VLAN聚合通过配置Super-VLAN和Sub-VLAN,不同Sub-VLAN之间进行通信,需要Super-VLAN开启ARP代理。 VLAN聚合既避免了由于子网划分带来的网络地址规划复杂的问题,又能够实现通过VLAN隔离不同广播域的目的。 • MUX VLAN包括Principal VLAN和Subordinate VLAN,同时Subordinate …