攻防世界MISC进阶区刷题记录

攻防世界MISC进阶区刷题记录

Ditf

运用stegextract进行分离

获得一个rar文件
5cd67d7f0a4aba3494f890d508716b80.png

glance-50

gif图片分离组合脚本

gif分离网站

https://tu.sioe.cn/gj/fenjie/

运用脚本,将gif图片分离帧,然后进行重组,获得flag

# 此脚本可以分离图片左右合并gif图片
from PIL import Image
import os
dir_name="./prtemp/res/"
# 创建脚本中需要的文件
def path_create(relative_path):
    #获取当前文件所在路径
    pwd = os.getcwd()[:]
    new_absolute_path = pwd+'/'
    relative_path = relative_path[2:]
    while len(relative_path) != 0:
        new_absolute_path = new_absolute_path + relative_path[:relative_path.find('/')] + '/'
        # 检测该文件夹是否已经存在
        if not os.path.exists(new_absolute_path):
            os.makedirs(new_absolute_path)
        relative_path = relative_path[relative_path.find('/')+1:]
# 创建目录
path_create(dir_name)
def get_gif_frame(gif_location):
    """
    将gif每一帧抽取出来
    :param gif_location: gif的文件路径
    :return: PIL图像对象和current指针
    """
    im = Image.open(gif_location)
    while True:
        current = im.tell()
        im.save('prtemp/res/' + str(current) + '.png')
        # 为什么-1,是放置文件指针便利到最后一个,+1后空对象
        if current < im.n_frames - 1:
            im.seek(current + 1)
        else:
            break
    return im, current


def image_compose(im, current):
    """
    将每一帧图片组合,得到最终的图片
    :param im: PIL图像对象
    :param current: current指针,为了确定画布的宽度
    :return: 得到最终合成图
    """
    to_image = Image.new('RGB', (im.size[0] * current, im.size[1]))  # 创建一个新图
    # 循环遍历,把每张图片按顺序粘贴到对应位置上
    flag = 0
    for name in img_list:
        ph = Image.open('./prtemp/res/' + name)
        to_image.paste(ph, (flag, 0))
        flag += im.size[0]
    return to_image.save('./prtemp/result.png')  # 保存新图

# 此处填写图片名称
im, current = get_gif_frame("prtemp/9266eadf353d4ada94ededaeb96d0c50.gif")

# 得到图片的文件序,防止粘贴图片时候拼错
img_list = os.listdir('./prtemp/res')
img_list.sort(key=lambda x: int(x[:-4]))  # 得到帧文件的文件顺序

image_compose(im, current)

1290d755474c19c80c707dd1d603be58.png

hit-the-core

8deb5f0c2cd84143807b6175f58d6f3f.core

file命令查看文件,为elf文件,本来我以为是linux可执行文件,拖进kali发现无法执行

30651d215fcb13631cce52abf970fc7d.png

但是运用root同样没权限,拖入hex发现可疑数据

06960111a3b0a560cb7230cade20f59b.png

cvqAeqacLtqazEigwiXobxrCrtuiTzahfFreqc{bnjrKwgk83kgd43j85ePgb_e_rwqr7fvbmHjklo3tews_hmkogooyf0vbnk0ii87Drfgh_n kiwutfb0ghk9ro987k5tfb_hjiouo087ptfcv}

其实刚开始看确实看到了CTF但是没敢确定,因为太长了,所以继续尝试其他的解法,最后还没找到,只能看了下wp,原来是隔4个直接找到就能获取flag

这个python真的是忘没了,写个脚本写了半天

a="acvqAeqacLtqazEigwiXobxrCrtuiTzahfFreqc{bnjrKwgk83kgd43j85ePgb_e_rwqr7fvbmHjklo3tews_hmkogooyf0vbnk0ii87Drfgh_n kiwutfb0ghk9ro987k5tfb_hjiouo087ptfcv}"
b=[]
flag=[]
for i in a:
  b.append(i)
for i in range(1,31):
  flag.append(b[i*5-1])
 print("".join(flag))

72dd2cb14d227f1dfe1993a74b4088c3.png

Test-flag-please-ignore

2f572adcaa5447feb8cc8c50969cd57d.zip

运用解压后为misc10,运用file函数查看文件类型,发现为text文件

81fbdff2c884b2b53fb79b5e46ffe399.png

直接起手式,拖入winhex查看,发现一串字符串

12475c5e5e15fc60e43b5c2834e79711.png

666c61677b68656c6c6f5f776f726c647d

刚开始以为是ascii,后来看wp发现全部由0-f组成的十六进制文件,运用十六进制转text获取flag

https://www.toolscat.com/decode/hex

35415b260b5760ce6989980a7bfd2ef5.png

也可以直接base16解码获取flag。

Base16:

而Base16就是16进制,他的范围是数字(0-9),字母(ABCDEF);

顺便说一句,当ASCll用Base加密达不到所对应的位数的时候用=号补齐;

János-the-Ripper

310085c4315841b1b784b4803ff7e4c1.zip
将文件解压获取到misc100,运用file查看文件类型

7b9b436ef65586d483e40dff2e9ab766.png

可以看到文件为zip格式,所以在win7上直接修改为.zip后缀,进行解压

30e787bcfdd754bffc6ced188688f480.png

解压过程需输入密码,此时运用自评破解工具进行破解,获取密码

6271af10110f7b4353ea981b1a841579.png

215ad090ad7b4516fd0f6599f80e494f.png

e7271f4ba5a927714dce991e98077972.png

afe13a9d43d7ae7eaad723be9c98358f.png

获取到密码后直接打开查看flag.txt获取flag
8fe6333b49a2559c151b3e41d2571c89.png

can_has_stdio?

eb9acff236eb498b9e4d747fb67f86b9.zip
将文件解压缩以后发现为一个未知文件,利用file命令获得为text文件
在winhex中打开发现为各种特殊符号
b4b9ff106574a621132ff5596d2f6642.png
直接运用记事本打开,发现为一个图案,本来以为是摩斯电码,但是查了下资料发现是BrainFuck,搜索BrainFuck在线解密,获得flag

根据百度搜索的结果可知这是一种叫做BrainFuck的语言,BrainFuck是由Urban Müller在1993年创建的,最小的具有图灵完备性的语言。一共由8种运算符组成,其编译器长度只有两百多个字节。这种语言基于一个简单的机器模型,除了指令,这个机器还包括:一个以字节为单位、被初始化为零的数组、一个指向该数组的指针(初始时指向数组的第一个字节)、以及用于输入输出的两个字节流。

https://ctf.bugku.com/tool/brainfuck
cb7e4a99e50451cf08ecef2c35eb0588.png

ae4857df3d16f552eea8ed5eaffa7a73.png

Training-Stegano-1

2e5e19744c644912928eddc882f3b0b9.bmp

起手式winhex

winhex打开直接获取flag

de7ab353a4bc39f2bb2331d3b57d9dca.png
刚开始我以为是lsb隐写,运用stegslove打开发现不了任何东西,看来以后起手式不能丢啊,先放进winhex里面再说

simple_transfer

f9809647382a42e5bfb64d7d447b4099.pcap

以前做题的时候看到流量包首先放到wirshark里面直接分析,现在看到流量包

起手式binwalk+foremost

本题利用binwalk+foremost直接获取flag
888aed14cbf05009e3c47cce28e0b038.png
获取到pdf后首先ctrl+a全选,然后复制到文本中,获取flag
ec251ca24d9bfff3c586e8fb2189edcd.png
其实在看文件的时候就可以看到中间有一串文字。

2017_Dating_in_Singapore

96378111f32f49d09f691870f1268799.rar
01081522291516170310172431-050607132027262728-0102030209162330-02091623020310090910172423-02010814222930-0605041118252627-0203040310172431-0102030108152229151617-04050604111825181920-0108152229303124171003-261912052028211407-04051213192625
打开附件发现为2017年的日历,听过看wp发现两个一组,如下规律

95db618a40506e25607072f714c2c70f.png

获取到flag

a_good_idea

stegslove使用方法

File Format:这里你会看见图片的具体信息有时候有些图片隐写的flag会藏在这里
Data Extract:好多涉及到数据提取的时候
Steregram Solve:立体试图 可以左右控制偏移 可以放张图片试一下就知道这个是什么意思了
Frame Browser:帧浏览器 主要是对GIF之类的动图进行分解,把动图一帧帧的放
Image Combiner:拼图,图片拼接(意思显而易见)

起手式winhex查看

将压缩包放入winhex,可以发现有一个文件夹下的三个文件
73e9a0998a4136627831d2668e5a1d8e.png

misc

  • hint.txt
  • to.png
  • to_do.png
    但是直接运用解压缩软件解压只有一个文件

9aa78c8c607c5a86917e92f39fe5d829.png
此时运用foremost对文件进行分离,可以完整的将文件分离出来,如下图:
dcaae604b368200314f976f7b044e5a3.png


00000063.zip解压后可获取如下文件
030cee1dab53b2fbeca896d7176975fd.png
将两个图片放入stogslove中进行拼接获取到如下图
8d0f9cfb2b3a75fe0cc14497461428d5.png
将拼接的图片调整曲线,获取二维码,扫描获得flag
a52c0cd54a22076b546bcfeea5c37601.png
tips:
本题目中涉及到图片拼接,在hint中有试着找出像素的秘密,从而想到可能是拼接,反正做这种题还是多尝试吧。

Aesop_secret

f732347c6bad47f1ac715cf67a3f4532.zip

起手式winhex

winhex打开后发现文件的类型没问题,GIF89a开头,为gif文件。

cf222cc01e857ad58d658a90da902d4d.png

在最后发现一串编码,猜测为base64编码,尝试解码后发现解码失败。

d127f8002a5a60435911df8ebf205996.png

U2FsdGVkX19QwGkcgD0fTjZxgijRzQOGbCWALh4sRDec2w6xsY/ux53Vuj/AMZBDJ87qyZL5kAf1fmAH4Oe13Iu435bfRBuZgHpnRjTBn5+xsDHONiR3t0+Oa8yG/tOKJMNUauedvMyN4v4QKiFunw==

看了下wp,其实题目中已经提到了aesop,可以猜测到。发现可能是aes加密,将gif图片进行帧拆分,这里给出在线拆分网站http://ezgif.com/split

https://tu.sioe.cn/gj/fenjie/
1b3fce4e9a74bf8472b0de55d90c6a9e.png
获取到图片后运用ps进行拼接可获得如下图案,给出iscc提示,猜测可能有用,在这里有个小tips,打开图片后发现处于索引颜色,此时无法复制图层,可以在图像–》模式中进行调整为RGB颜色,可以正常使用复制图层。

30f3802d3ff28da3646659e188a3795f.png

b99a179f5c405425683d5e6b0f3df7ab.png

aes解密

获取到密码以后进行aes解密,两次解密获取flag
aes解密网址https://www.sojson.com/encrypt_aes.html

a1f7bac922d72e8aa3d3ef42f4a39848.png

pure_color

1457ba9a15f944ae8520e024f72bf7a6.png

图片本身为空白图片,但是题目意思为真正的颜色,将图片放入Stegsolve点击左右按钮调整颜色,获取flag

f249e6db52d9375ef631a6e15c2bc649.png

Hear-with-your-Eyes

bf87ed29ac5a46d0aa433880dac5e6d8.gz

hex打开,发现是wav文件,猜测可能是zip(看wp了)

94a836361a6be5464bc419b4c433a440.png
修改为zip,然后解压缩获取到sound.wav,此处可以在卡里中运用

foremost -T 文件名
binwalk -e 文件名

分解内容

运用Audacity打开,切换到频谱图,获得flag shift + D快捷切换频谱图

78de935b336fdfff87c6f2633f9599f4.png

e30f5b2bd9eb7e583ce6a339505716e2.png

reverseMe

f4726ba5aca94c1a45c1896eb7a3e659.png
打开图片发现翻转图片即可获取flag,运用ps即可完成
新建图层–》编辑–》变换–》水平翻转
05ee680b0a0d7bbb15b34912ff233b0c.png
3ef0b633ec90fb6f4818c6e950069ea5.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值