CTF攻防世界刷题51-

2023-11-09

目录

51、Just-No-One

52、labour

53、hong

54、4-2

55、low

56、心仪的公司

57、misc1

58、Miscellaneous-300

59、很普通的Disco

60、肥宅快乐题

61、warmup

62、签到题

63、funny_video

64、隐藏的信息

65、miscmisc

66、奇怪的TTL字段

67、2-1

68、halo

69、互相伤害!!!

70、Keyes_secret

71、saleae

72、信号不好先挂了

73、黄金六年

74、打开电动车

75、3-1 

76、4-1

77、5-1

78、picture2

78、test.pyc

79、challenge_how_many_Vigenèr


51、Just-No-One

这一题实在一言难尽,它居然在协议里,我拖进kail里看了半天,也没发现什么,最后看的wp

攻防世界 Misc高手进阶区 4分题 Just-No-One_闵行小鱼塘-CSDN博客

在这,翻译一下就是“你可以提交这个来得到10分: 违反规定”,真离谱

52、labour

拖进kail里看一看

Use appropriate brackets and underscores to separate words if you succeed-->翻译就是“如果成功,使用适当的方括号和下划线分隔单词 -- >”

下面是经纬度,把对应的地点查出来,用这个网站
GPS Visualizer: Draw a map from a GPS data fileGPS Visualizer can read GPS data files (tracklogs & waypoints), street addresses, or simple coordinates, and plot them on Leaflet maps or Google Maps.https://www.gpsvisualizer.com/map_input

把文件传进去,然后点绘制地图 

然后选择OSM(TF landscape)

把各个地点标出来 

WP01-A Bangladesh
WP02-B India
WP03-C Uzbekistan
WP04-D Sudan
WP05-E Chad
WP06-F Thailand
WP07-G France
WP08-H Malaysia
WP09-I Afghanistan
WP10-J Pakistan
WP11-K Turkey
WP12-M Romania
WP13-M Egypt
WP16-P China
WP17-Q Kazakhstan

首字母连起来就是,还要记得用下划线分割单词,BITSCTF{MAP_THE_HACK}

53、hong

binwalk一下发现有东西

 提取出来两张图,二维码扫出来一大堆数字,另一张图直接出BCTF{cute&fat_cats_does_not_like_drinking}

54、4-2

题目得到这些

Eg qnlyjtcnzydl z umaujejmjetg qeydsn eu z bsjdtx tw sgqtxegc al kdeqd mgeju tw yrzegjsoj zns nsyrzqsx kejd qeydsnjsoj
Ew ltm fgtk jds kzl tw sgqtxegc m kerr csj jds wrzc kdeqd eu qrzuueqzr-qeydsn_eu_gtj_usqmnejl_du

我还以为要翻译,没啥结果,binwalk也没有,找了好几个wp,这玩意不是凯撒密码,是要词频分析(叫古典密码自动化爆破,我不太懂),flag{classical-cipher_is_not_security_hs}

quipqiup - cryptoquip and cryptogram solver

55、low

binwalk、stegslove均无果,找wp说是低位隐写,既然是LSB隐写,不懂为什么stegslove不行,最后找到了xctf攻防世界 MISC高手进阶区 low_l8947943的博客-CSDN博客 

 确实有点像下面有一张二维码,被盖住了

# lsb隐写
import PIL.Image as Image
img = Image.open('low.bmp')
img_tmp = img.copy()
pix = img_tmp.load()
width,height = img_tmp.size
for w in range(width):
   for h in range(height):
      if pix[w,h]&1 == 0:
         pix[w,h] = 0
      else:
         pix[w,h] = 255
img_tmp.show()

安装不了PIL,直接安装pillow也行,pip install pillow

Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库。pillow可以说已经取代了PIL,将其封装成python的库(pip即可安装),且支持python2和python3,目前最新版本是3.0.0。 

在这里我被卡了,总显示“Import "PIL" could not be resolved from sourcePylancereportMissingModuleSource”,下载好的库在vs code上用不了,最后发现版本不对,vs上是3.9,库下载到3.7上了

扫一下,直接出flag{139711e8e9ed545e}

56、心仪的公司

这个搜flag搜不到,只能搜fl,用strings命令搜也行,在wireshark里搜也行,fl4g:{ftop_Is_Waiting_4_y} 

57、misc1

d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9e1e6b3e3b9e4b3b7b7e2b6b1e4b2b6b9e2b1b1b3b3b7e6b3b3b0e3b9b3b5e6fd

根据wp【愚公系列】2021年11月 攻防世界-进阶题-MISC-050(misc1)_时光隧道-CSDN博客,每两个分组十六进制,转成十进制后-128(偏移量为128),再转成ascii码得到flag,DDCTF{9af3c9d377b61d269b11337f330c935f}

import re
s = 'd4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9e1e6b3e3b9e4b3b7b7e2b6b1e4b2b6b9e2b1b1b3b3b7e6b3b3b0e3b9b3b5e6fd'
num = re.findall('\w{2}' ,s)
flag = ''
for i in num:
   ch = chr(int(i,16)-128)
   flag += ch
print(flag)

关于偏移量这个玩意是什么,以及怎么搞这事,得研究研究

58、Miscellaneous-300

得到一个压缩包,需要密码,winhex看了下,不是伪加密,爆破发现密码和文件名一模一样,解压得到下一个加密文件,密码依旧和文件名相同,连续好多个,俄罗斯套娃一样,找了个脚本

攻防世界-MISC-进阶-Miscellaneous-300_岁月仓行的博客-CSDN博客

import zipfile
import re
zipname = "C:\\Users\\86139\\Desktop\\tmp\\"+"47096.zip"
while True:
    if zipname != "C:\\Users\\86139\\Desktop\\tmp\\73168.zip":
        ts1 = zipfile.ZipFile(zipname)
        res = re.search('[0-9]*',ts1.namelist()[0])
        print(res.group())
        passwd = res.group()
        ts1.extractall("C:\\Users\\86139\\Desktop\\tmp\\",pwd=passwd.encode('ascii'))
        zipname = "C:\\Users\\86139\\Desktop\\tmp\\"+ts1.namelist()[0]
    else:
        print("find")

实在是套了好多层,跑了好久

 运行到12475.zip时报错了,爆破得到密码是b0yzz

得到mess.wav,仍进AUdacity里,调成频谱图,发现flag,BallsRealBolls

59、很普通的Disco

攻防世界 Misc高手进阶区 3分题 很普通的Disco_闵行小鱼塘-CSDN博客

用Audacity打开,直接放大,把进度条拖到最前面,按上为1,下为0,能得到一堆二进制

 110011011011001100001110011111110111010111011000010101110101010110011011101011101110110111011110011111101

总共105个,按7个一位,f对应的二进制0110 0110,l对应0110 1100,刚好每7个一组,每组前加0,转换成字符串就是flag,flag{W0W*funny}

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

60、肥宅快乐题

攻防世界-Misc-肥宅快乐题(.swf文件查看帧)_Sea_Sand息禅-CSDN博客_攻防世界肥宅快乐题

swf文件,第一次接触potplayer,气死了,potplayer还是打不开swf文件,不过拖进浏览器里倒是能打开,但是我不想打游戏通关啊,根据题目提示(注意与NPC的对话哦),找到那一帧,然后base64翻译

61、warmup

解压得到一个压缩包和一张图,把图片用winrar压缩,加压的图片和原来的压缩包里的图片CRC32值一样,明文攻击

乌鱼子,我是真的破不开放弃,然后就是得到两张图片盲水印,flag{bWm_Are_W0nderfu1}

62、签到题

SSCTF线上选举美男大赛开始了,泰迪拿着他的密码去解密了,提交花括号内内容(Z2dRQGdRMWZxaDBvaHRqcHRfc3d7Z2ZoZ3MjfQ==)

base64解密:ggQ@gQ1fqh0ohtjpt_sw{gfhgs#}

栅栏解密(位移7):ggqht{ggQht_gsQ10jsf#@fopwh}

凯撒密码(位移14):ssctf{ssCtf_seC10ver#@rabit}

63、funny_video

​ 播放视频发现视频有两个音轨,并且两个音轨声音相似,先将音频提取出来MKVToolnixPortable

 然后用audicity打开,wp上说调到频谱图上直接出,我的最接近flag的就长这样,失败

flag{fun_v1d30_mu51c}

64、隐藏的信息

得到一堆数字,原来以为是九键解密,后来发现是八进制数字,用CaptfEncoder(网络安全工具套件)转换,还挺好用的

0126 062 0126 0163 0142 0103 0102 0153 0142 062 065 0154 0111 0121 0157 0113 0111 0105 0132 0163 0131 0127 0143 066 0111 0105 0154 0124 0121 060 0116 067 0124 0152 0102 0146 0115 0107 065 0154 0130 062 0116 0150 0142 0154 071 0172 0144 0104 0102 0167 0130 063 0153 0167 0144 0130 060 0113 

八进制转ASCII,发现长得像base64

 base64解密,出ISCC{N0_0ne_can_st0p_y0u}

65、miscmisc

参考2019湖湘杯 misc3 之miscmisc_胖虎很忙-CSDN博客_miscmisc

得到一张表情包,foremost提取出来两个压缩包,解压之后里面都是一个压缩包和一张表情包,压缩包一个叫chadian.zip,一个叫chadiand.zip,不知道有什么联系,表情包都叫chayidian.jpg

解压出来的表情包,foremost提取出来一个压缩包,发现里面是一个flag.txt 

两个压缩包里都有flag.txt,发现两个的CRC32相同,应该是明文攻击,ARCHPR跑不出来,用AZPR试试,总是跑不出来(解压密码是z$^58a4w)

 解压后得到一张图,一个文档,一个加密压缩包,猜想应该是图和文档分别得到半截密码解开zip得到flag

图片长这样

扔进stegslove,lsb低位隐写,得到pass:z^ea,前半截密码

文档里面是这样,后半截密码是每一行末尾的数字或字母,这谁想得到,4zaa3azf8

 

 解压密码z^ea4zaa3azf8,flag{12sad7eaf46a84fe9q4fasf48e6q4f6as4f864q9e48f9q4fa6sf6f48},这一题好狗

66、奇怪的TTL字段

127是 01111111、191是 10111111 、63是 00111111、255是 11111111,那应该就是前两位在变化

 攻防世界 Misc高手进阶区 3分题 奇怪的TTL字段_闵行小鱼塘-CSDN博客_攻防世界奇怪的ttl字段

fp = open('ttl.txt','r')
a = fp.readlines()
p = []
for i in a:
    p.append(int(i[4:]))
s = ''
for i in p:
    if i == 63:
        a = '00'
    elif i == 127:
        a = '01'
    elif i == 191:
        a = '10'
    elif i == 255:
        a = '11'
    s += a
# print(s)

import binascii
flag = ''
for i in range(0,len(s),8):
    flag += chr(int(s[i:i+8],2))
flag = binascii.unhexlify(flag)
wp = open('res.jpg','wb')
wp.write(flag)
wp.close()

得到一张图片,foremost提取出来6张,用wps画图拼了老半天

​ 

 扫描是key:AutomaticKey cipher:fftu{2028mb39927wn1f96o6e12z03j58002p},自动密钥密码Practical Cryptography

得到flagabdfdeabee,但是这个结果不对,还需要对应的把数字填充进去,flag{2028ab39927df1d96e6a12b03e58002e}

67、2-1

图片无法打开,扔进winhex发现文件头错了,改为:89 50 4E 47

改完之后还是无法打开,扔进kali里发现是CRC错误,CRC碰撞不对,找了个脚本

攻防世界 Misc高手进阶区 3分题 2-1_闵行小鱼塘-CSDN博客

import os 
import binascii 
import struct

misc = open("2-1.png","rb").read()

for i in range(1024): 
    data = misc[12:16] + struct.pack('>i',i)+ misc[20:29]
    crc32 = binascii.crc32(data) & 0xffffffff 
    if crc32 == 0x932f8a6b: 
        print (i)

得到宽度应该是709, 十六进制就是02 C5

 再改,出wdflag{Png_C2c_u_kn0W}

 

68、halo

这一题确实挺奇葩的,下面是下载下来的原txt,攻防世界里的wp跟攻防世界 Misc高手进阶区 5分题 halo_闵行小鱼塘-CSDN博客_攻防世界halo这位的wp上的原编码都不一样......xctf攻防世界 MISC高手进阶区 halo_l8947943的博客-CSDN博客这位指出来了

aWdxNDs0NDFSOzFpa1I1MWliT09w 

过程就是原码base64解密后异或运算,flag{jdr78672Q82jhQ62jaLL3}异或运算加密/解密 - 一个工具箱 - 好用的在线工具都在这里!

69、互相伤害!!!

下载下来是一个没有后缀的文件,扔进kali里自动识别显示是流量包,foremost提取出来很多图片但是很糊,还是用的wireshark导出的(http),下面这张图用手机扫不出来,最后用的 草料二维码解码器这个网站,成功了

得到U2FsdGVkX1+VpmdLwwhbyNU80MDlK+8t61sewce2qCVztitDMKpQ4fUl5nsAZOI7 bE9uL8lW/KLfbs33aC1XXw==,AES解密AES加密-AES解密-在线AES加密解密工具,密钥应该是CTF,解得668b13e0b0fc0944daf4c223b9831e49

根据题目提示,这张图大概率有点问题

 扔进winhex发现里面有压缩包,压缩包里有张图片

 foremost提取出来 

 大的二维码扫出来是一句话

里面的小的二维码扫出flag,flag{97d1-0867-2dc1-8926-144c-bc8a-4d4a-3758},一定要注意题目,题目里面说的是flag里面的内容!!!

70、Keyes_secret

下载下来一堆乱七八糟的字母

 还以为是字频统计,但是根本没有规律

自动换行后,很容易发现两个大括号之间的存在,前面的几个构成了IS,是键盘密码跑不了,往前推几个就是FLAG,FLAG{ISCC-KEYBOARD-CIPHER}

71、saleae

.ligicdata是逻辑分析仪数据文件,用logic软件打开,不会用,logicdata后缀打不开,遂放弃,flag{12071397-19d1-48e6-be8c-784b89a95e07}

72、信号不好先挂了

apple.png扔进kali里发现里面有东西,提取出来一张一样的图,名字叫pen.png,接下来的操作是盲水印解,奈何我实在没学会

卡死在这了,不知道出了什么错 

3.9号更,windows不成功,嘿嘿kali成功了,unctf{9d0649505b702643}

73、黄金六年

mp4文件用winhex打开,可以发现末尾有base64编码,转一下发现,是rar压缩包,里面还有flag.txt,十六进制里面有52617221(CaptfEncoder是真的很好用,就是转十六进制的内容好像不太对,得到的rar显示文件格式损坏)

  [RoarCTF2019]黄金6年 - 春告鳥 - 博客园根据这位的学会了base64转十六进制,得到的压缩包需要解密

import base64
a="UmFyIRoHAQAzkrXlCgEFBgAFAQGAgADh7ek5VQIDPLAABKEAIEvsUpGAAwAIZmxhZy50eHQwAQADDx43HyOdLMGWfCE9WEsBZprAJQoBSVlWkJNS9TP5du2kyJ275JzsNo29BnSZCgMC3h+UFV9p1QEfJkBPPR6MrYwXmsMCMz67DN/k5u1NYw9ga53a83/B/t2G9FkG/IITuR+9gIvr/LEdd1ZRAwUEAA=="
b=base64.b64decode(a)
c=open('1.rar','wb')
c.write(b)
c.close()

 下面的这些二维码是真真不好找,麻烦死了,能猜到密码在视频里面,但是真不好找啊

 key1:i

key2:want 

key3:play

key4:ctf

密码iwantplayctf,解得flagroarctf{CTF-from-RuMen-to-RuYuan} 

74、打开电动车

用Audacity打开,短的是0,长的是1

得到

0    01110100101010100110 00100011101001010101001100010 

攻防世界 Misc高手进阶区 4分题 打开电动车_闵行小鱼塘-CSDN博客 根据他的博客,钥匙信号(PT224X) = 同步引导码(8bit) + 地址位(20bit) + 数据位(4bit) + 停止码(1bit),中间的20位就是答案,但是题目长这样,也没提示flag是sctf包着的啊,真的是,flag是sctf{01110100101010100110}

附官方wp

75、3-1 

下载得到一个文件,扔进kali里查看,发现是rar,修改文件名后解压,里面有一个pcapng流量包,wireshark搜索发现里面有flag.txt和flag.rar,http导出flag.rar,加密的,那解压密码应该还在流量包里,在tcp.stream eq 6里面查到base64、python脚本

在编译器里总报错,不太会修改,在kali里运行脚本:python3 +文件名

关于这个问题的解决,参考了下面两篇博客,大佬yyds
【攻防世界AD】Misc进阶区:3-1_yoyoko_chan的博客-CSDN博客

加密:python crypto AES : Object type cannot be passed to C code_chenran187906的博客-CSDN博客

from Crypto import Random
from Crypto.Cipher import AES
import sys

import base64

IV = 'QWERTYUIOPASDFGH'.encode('utf-8')#修改1

def decrypt(encrypted):
  aes = AES.new(IV, AES.MODE_CBC, IV)
  return aes.decrypt(encrypted)

def encrypt(message):
  length = 16
  count = len(message)
  padding = length - (count % length)
  message = message + '\0' * padding
  aes = AES.new(IV, AES.MODE_CBC, IV)
  return aes.encrypt(message.encode('utf-8'))#修改2

str = 'this is a test'
example = encrypt(str)
print(decrypt(example))
s='19aaFYsQQKr+hVX6hl2smAUQ5a767TsULEUebWSajEo='
flag=base64.b64decode(s)
print(decrypt(flag))

解压密码No_One_Can_Decrypt_Me,解压得到flag为WDCTF{Seclab_CTF_2017} 

 

76、4-1

得到一张图

 扔进kali里binwalk一下,里面有东西

foremost提取出来一个压缩包,解压得到

 

txt里面提示

剩下的一个压缩包解压得到两张一模一样的图,猜测是盲水印

【CTF】图片隐写术 · 盲水印 - 双份浓缩馥芮白 - 博客园,感谢大佬哇,第一次成功使用盲水印

python bwmforpy3.py decode day1.png day2.png flag.png --oldseed

成功提取出来图片,得到flag:wdflag{My_c4t_Ho}

77、5-1

工具xortool

CTF-Xortool,windows上的安装与使用_半岛铁盒的博客-CSDN博客_xortool

python xortool.py C:\Users\86139\Desktop\1 

 python xortool.py C:\Users\86139\Desktop\1 -l 13 -c 00

这一步真的蒙了,不知道为什么会出错

78、picture2

binwalk发现有隐写,但又不是zsteg隐写,-e提取出来

 

第一个文档里面是base64,解密后发现十六进制是压缩包格式,txt前面是KP,应该是反了 

得到的压缩包加密的,有提示 

错误异常有三种,一个个试,第二种对了 

解压得code文件,里面是密文,解得CISCN{2388AF2893EB85EB1B439ABFF617319F}

78、test.pyc

反编译不完全,问题出在flag3上

#!/usr/bin/env python
# visit https://tool.lu/pyc/ for more information
str = 'jYygTOy' + 'cmNycWNyYmM1Ujf'
import base64

def flag1():
    code = str[::-3]
    result = ''
    for i in code:
        ss = ord(i) - 1
        result += chr(ss)
    
    print(result[::-1])


def flag2():
    code = str[::-2]
    result = ''
    for i in code:
        ss = ord(i) - 1
        result += chr(ss)
    
    print(result[::-2])


def flag3():
    pass
# WARNING: Decompyle incomplete

flag1()

参考【愚公系列】2021年12月 攻防世界-进阶题-MISC-075(test.pyc)_愚公搬代码的博客-CSDN博客用的是uncompyle6

uncompyle6是一个原生python的跨版本反编译器和fragment反编译器,是decompyle、uncompyle、uncompyle2等的接替者。

uncompyle6可将python字节码转换回等效的python源代码

安装:pip install uncompyle6

反编译使用:uncompyle6   -o   .   pyc文件名

uncompyle6 -o C:\Users\86139\Desktop\1.py C:\Users\86139\Desktop\1.pyc 

 

从上到下复制下来然后反转fjU1MmYyNWcyNmcyOTgyYjY4MTc5NWMzZjc0ZzllNzMyfGhibWc=

base64解密得到~552f25g26g2982b681795c3f74g9e732|hbmg

反转gmbh|237e9g47f3c597186b2892g62g52f255~ 

gmbh和flag就差一位,凯撒加密不对

 ascii码移一位,flag{126d8f36e2b486075a1781f51f41e144}

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

79、challenge_how_many_Vigenère

参考:攻防世界 Misc高手进阶区 7分题 challenge_how_many_Vigenère_思源湖的鱼的博客-CSDN博客

根据题目,知道是维吉尼亚密码,但是没有key,没法直接解密得到明文

enn第一次遇到需要爆破得维吉尼亚密码,Vigenere Solver - www.guballa.de

key:ohihzkssefkmqxqbkihybnynvndzkdlqvhwhgywaftmeteecqprzjczvnmhnzwyasmlwbwvaqitejbfofycejjlcbpk

爱丽丝梦游仙境,但意译

Alice in Wonderland不对,得直译Alice's Adventures in Wonderland​​​​​​,LCTF{osqjdcsvzjxfkoutsvdmoqcegnqc} 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CTF攻防世界刷题51- 的相关文章

随机推荐