CTFShow-MISC入门篇详细wp(1-56)

CTFShow-MISC入门篇
    • 图片篇(基础操作):
        • misc1
        • misc2
        • misc3
        • misc4
    • 图片篇(信息附加):
        • misc5
        • misc6
        • misc7
        • misc8
        • misc9
        • misc10
        • misc11
        • misc12
        • misc13
        • misc14
        • misc15
        • misc16
        • misc17
        • misc18
        • misc19
        • misc20
        • misc21
        • misc22
        • misc23
        • misc41
    • 图片篇(文件结构):
        • misc24
        • misc25
        • misc26
        • misc27
        • misc28
        • misc29
        • misc30
        • misc31
        • misc32
        • misc33
        • misc34
        • misc35
        • misc36
        • misc37
        • misc38
        • misc39
        • misc40
        • misc42
        • misc43
        • misc44
        • misc45
        • misc46
        • misc47
        • misc48
        • misc49
    • 图片篇(颜色通道):
        • misc50
        • misc51
        • misc52
        • misc53
        • misc54
        • misc55
        • misc56

CTFShow 平台:https://ctf.show/

图片篇(基础操作):

misc1

打开就是flag
在这里插入图片描述

misc2

在这里插入图片描述

发现是PNG的格式直接改后缀png 即可得到flag
在这里插入图片描述

misc3

下载下来里面是一个BPG 的格式文件 需要用能打开软件的工具:https://bellard.org/bpg/

在这里插入图片描述

在这里插入图片描述

misc4

下载下来有6txt文件 分别是6个文件 可以通过文件头 来判断文件的类型:

JPEG (jpg) 文件头:FF D8 FF  文件尾:FF D9

PNG (png),文件头:89504E47

Windows Bitmap (bmp), 文件头:424D 文件尾:

GIF (gif),文件头:47494638

XML (xml),文件头:3C3F786D6C

HTML (html),文件头:68746D6C3E

MS Word/Excel (xls.or.doc),文件头:D0CF11E0

MS Access (mdb),文件头:5374616E64617264204A

Adobe Acrobat (pdf),文件头:255044462D312E

Windows Password (pwl),文件头:E3828596

ZIP Archive (zip),文件头:504B0304

RAR Archive (rar),文件头:52617221

Wave (wav),文件头:57415645

AVI (avi),文件头:41564920

TIFF (tif), 文件头:49492A00 文件尾:

在这里插入图片描述

ctfshow{4314e2b15ad9a960e7d9d8fc2ff902da}

图片篇(信息附加):

misc5

在这里插入图片描述

no flag 被骗了 然后使用010Editor 在最下面发现了flag

在这里插入图片描述

ctfshow{2a476b4011805f1a8e4b906c8f84083e}

misc6

和上一题一样 搜索ctf 可以得到flag

在这里插入图片描述

misc7

直接使用 notepad打开搜索flag
在这里插入图片描述

ctfshow{c5e77c9c289275e3f307362e1ed86bb7}

misc8

使用foremost 分离 发现里面有两张图片 其中一张就是flag
在这里插入图片描述

misc9

直接使用 HxD 打开 看到flag

在这里插入图片描述

misc10

使用binwalk -e 第一 10E5 打开就是flag

在这里插入图片描述

misc11

根据提示 在另一个图片 这里一个新的知识点 需要使用一个新工具:Tweakpng

把第二个 IDAT 数据删除 从新打开图片 发现 有flag (就很神奇!)

在这里插入图片描述
在这里插入图片描述

misc12

这里又学了一个新的工具:PNG Debugger

具体使用可以参考这篇文章:https://blog.youkuaiyun.com/Goodric/article/details/119732559
在这里插入图片描述

发现跑出来的 数据块都是对的 和上一题一样 这里只是学一下这个工具 之前没用过 需要删除8个才能得到flag。

在这里插入图片描述

misc13
a="631A74B96685738668AA6F4B77B07B216114655336A5655433346578612534DD38EF66AB35103195381F628237BA6545347C3254647E373A64E465F136FA66F5341E3107321D665438F1333239E9616C7D"
r = ''
s=bytes.fromhex(a)
for i in range(0,len(s),2):
        r+=chr(s[i])
print(r)
#fromhex函数把一串16进制字符,每两位转换成16进制的对象

在这里插入图片描述

ctfshow{ae6e3ea48f518b7e42d7de6f412f839a}

misc14

先使用binwalk -e 分离出来 然后使用dd 得到flag

dd if=misc14.jpg of=1.jpeg skip=2103 bs=1

在这里插入图片描述
在这里插入图片描述

misc15

直接文本编辑器打开 搜索 ctf 即可 得到flag

在这里插入图片描述

ctfshow{fbe7bb657397e6e0a6adea3e40265425}

misc16

还是 binwalk -e 分离 然后直接打开 第三个 LZMA 得到flag

在这里插入图片描述

ctfshow{a7e32f131c011290a62476ae77190b52}

misc17

使用 zsteg 这个工具 使用命令:zsteg -e extradata:0 misc17.png > 1.txt 提权出来即可得到flag

git clone https://github.com/zed-0xff/zsteg

cd zsteg/

gem install zsteg

在这里插入图片描述
在使用 binwalk -e 1.txt 分离一次 得到flag
在这里插入图片描述

misc18

提示:flag在标题、作者、照相机和镜头型号里 直接看图片属性即可得到flag
在这里插入图片描述
在这里插入图片描述

ctfshow{325d60c208f728ac17e5f02d4cf5a839}

misc19

根据提示:flag在主机上的文档名里 直接使用网站查看:https://exif.tuchong.com/view/12432993/
在这里插入图片描述

ctfshow{dfdcf08038cd446a5eb50782f8d3605d}

misc20

提示:flag在评论里。

在这里插入图片描述

ctfshow{c97964b1aecf06e1d79c21ddad593e42}

misc21

提示:flag在序号里。
在这里插入图片描述
在这里插入图片描述
因为我们知道 flag的规律 直接提交肯定不对 所以需要把 xy 四段转为 16进制 然后在加上flag格式。

3902939465237161861910824528172980145261  #转16进制 即可

ctfshow{e8a221498d5c073b4084eb51b1a1686d}

misc22

这里要使用一个新工具:MagicEXIF 直接打开即可看到flag

magicexif元数据编辑器是一款非常专业的照片magicexif元数据编辑器,该软件可以通过分析照片的元数据以及编码特征来计算图像可信度,从而判断照片是否被修改,同时还能对相机的快门次数、镜头参数、光圈档位等进行查看和编辑。

在这里插入图片描述

ctfshow{dbf7d3f84b0125e833dfd3c80820a129}

misc23

提示:flag在时间里。

使用工具 exiftool + 图片名称
在这里插入图片描述

使用在线时间戳转换:https://tool.lu/timestamp/ 一共有四段
在这里插入图片描述

874865822 2699237688 2156662245 460377706  #全部转为16进制

ctfshow{3425649ea0e31938808c0de51b70ce6a}

misc41

这题还是比较有意思的 根据提示:H4ppy Apr1l F001's D4y!

愚人节到了,一群笨蛋往南飞,一会儿排成S字,一会儿排成B字。

使用Editor 打开 搜索 F001 可以看到 ctf 的样式 把他提取 出来即可。
在这里插入图片描述

ctfshow{fcbd427caf4a52f1147ab44346cd1cdd}

图片篇(文件结构):

misc24

提示:flag在题目上面

根据提示应该是修改图片的高度 改为EE

在这里插入图片描述

在这里插入图片描述

misc25

提示:flag在图片下面

和上一题一样 使用 TweakPNG查看图片发现图片的CRC值不对
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ctfshow{494f611cc5842dd597f460874ce38f57}

misc26

提示:flag还是在图片下面,但到底有多下面?

还是和上一题一样判断高度 然后00 96 修改为02 5E 得到图片 但是flag不全。
在这里插入图片描述
需要得到实际长度的16进制 使用脚本 最后得到实际高度为606 转为16进制是0x25e

import os
import binascii
import struct
crcbp = open("misc26.png", "rb").read()    #打开图片
for i in range(1024):
    for j in range(1024):
        data = crcbp[12:16] + struct.pack('>i', i)+struct.pack('>i', j)+crcbp[24:29]#从IHDR开始17个字节,其中宽和高用i和j代替,并以4个字节存放i和j。
        crc32 = binascii.crc32(data) & 0xffffffff
        if(crc32 == 0xec9ccbc6):   #010Editor第二行倒数3字节,加第三行第一字节。按顺序写就行,不用改。
            print(i, j)
            print('hex:', hex(i), hex(j))
#900 606
#hex: 0x384 0x25e

在这里插入图片描述

ctfshow{94aef125e087a7ccf2e28e742efd704c}

misc27

提示:flag在图片下面
在这里插入图片描述

在这里插入图片描述

ctfshow{5cc4f19eb01705b99bf41492430a1a14}

misc28

放进010软件进行查看 修改高度9600FF00 或者使用Stegsolve直接打开也可以得到flag
在这里插入图片描述

ctfshow{59c8bc525426166b1c893fe12a387fd7}

misc29

提示:flag在图片下面。
这题还是gif 格式文件 和上一题一样 但是这有10帧数 需要把所有高度都改了9600FF00 然后使用Stegsolve 打开第8帧就是flag。
在这里插入图片描述

ctfshow{03ce5be6d60a4b3c7465ab9410801440}

misc30

提示:正确的宽度是950。

是一个bmp文件 010 打开修改宽度为950 即可得到flag
在这里插入图片描述
在这里插入图片描述

ctfshow{6db8536da312f6aeb42da2f45b5f213c}

misc31

使用010打开复制FF3A结束 所有字节是487253 减去文件头53个字节 RGB 每个像素由3个字节表示

在这里插入图片描述
在这里插入图片描述

a = (487256-54)/ 3
a  / = 150
print(a)
1082.6666666666667

在这里插入图片描述

在这里插入图片描述

ctfshow{fb09dcc9005fe3feeefb73646b55efd5}

misc32

提示:高度是正确的,但正确的宽度是多少呢

先爆破出正确的宽高 然后使用010 宽度修改为1044 打开即可得到flag

import zlib
import struct

# 同时爆破宽度和高度
filename = "misc32.png"
with open(filename, 'rb') as f:
    all_b = f.read()
    data = bytearray(all_b[12:29])
    n = 4095
    for w in range(n):
        width = bytearray(struct.pack('>i', w))
        for h in range(n):
            height = bytearray(struct.pack('>i', h))
            for x in range(4):
                data[x+4] = width[x]
                data[x+8] = height[x]
            crc32result = zlib.crc32(data)
            #替换成图片的crc
            if crc32result == 0xE14A4C0B:
                print("宽为:", end = '')
                print(width, end = ' ')
                print(int.from_bytes(width, byteorder='big'))
                print("高为:", end = '')
                print(height, end = ' ')
                print(int.from_bytes(height, byteorder='big'))

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ctfshow{685082227bcf70d17d1b39a5c1195aa9}

misc33

ctfshow{03070a10ec3a3282ba1e352f4e07b0a9}

misc34

ctfshow{03e102077e3e5de9dd9c04aba16ef014}

misc35

ctfshow{ca35201ca9ed607e5a68f44ef573fbc3}

misc36

ctfshow{1ebf739f832906d60f57436b8179166f}

misc37

提示:flag在图片里

直接在线gif 分离:https://tu.sioe.cn/gj/fenjie/

分别在 第9、14、21、31、34
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ctfshow{2056782cd57b13261dcbbe3d6eecda17}

misc38

提示:flag在图片里

这里使用这个工具:Honeyview 分别在第9、17、36、40帧中 发现部分flag 最后进行拼接得到完整的flag

在这里插入图片描述

ctfshow{48b722b570c603ef58cc0b83bbf7680d}

misc39

提示:flag就像水,忽快忽慢地流

这里要使用一个工具:identify

sudo apt-get install imagemagick

identify -format "%T " misc39.gif > 1.txt  #进行提取

得到的一串3637,考虑把37换成136换成0,就得到长度为287的二进制字符串,考虑每7位转一个字符(正常是8位一组),得到flag

s="11000111110100110011011100111101000110111111101111111011011010101100100111000011000101100101100110110011001110010111001011010111001101100010011011111000101100101011001001101100111000110010001110010110110011001111000010111001110010111000101100011110000101100000110100011010101110011111101"
flag=""
for i in range(41): #287//7
    flag += chr(int(s[7*i:7*(i+1)],2))
print(flag)

在这里插入图片描述

ctfshow{52812ff995fb7be268d963a9ebca0459}

misc40

提示:flag就像歌,有长有短仿佛岁月悠悠

使用 Honeyview 查看 是一个 APNG 图片格式的动图

这里用到一个工具 APNG Disassembler

APNG图片分解器(APNG Disassembler)是一个用来分解APNG图片的软件,使用这个工具你可以把APNG动画图片中的每一帧都分解出来,并且把帧导出保存为图片文件

flag=""
for i in range(28,69): #flag内容从28位开始
    f = open('apngframe'+str(i)+'.txt')
    s = f.read()
    flag += chr(int(s.split("/")[0][6:]))
print(flag)

在这里插入图片描述

ctfshow{95ca0297dff0f6b1bdaca394a6fcb95b}

misc42

提示:flag有多长?2cm……不好意思打错了,41位

使用010 发现有很多 IDAT块(48个)

使用工具:TweakPNG打开查看IDAT块 将长度进行chr转换

在这里插入图片描述

a = [229,152,191,229,152,191,49,99,116,102,115,104,111,119,123,48,55,56,99,98,100,48,102,57,99,56,100,51,102,50,49,53,56,101,55,48,53,50,57,102,56,57,49,51,99,54,53,125]
for i in s:
    print(chr(i),end='')

在这里插入图片描述

ctfshow{078cbd0f9c8d3f2158e70529f8913c65}

misc43

提示:错误中隐藏着通往正确答案的道路

使用 PNG Debugger 查看 CRC32的值都是错的

GitHub地址:https://github.com/rvong/png-debugger

在这里插入图片描述

将错误的IDAT块的crc-code提取出来,拼接起来转字符串即可得到flag

在这里插入图片描述

ctfshow{6eb2589ffff5e390fe6b87504dbc0892}

misc44

提示:错误中还隐藏着坑
在这里插入图片描述

在这里插入图片描述

misc45
misc46
misc47
misc48
misc49

图片篇(颜色通道):

misc50

在这里插入图片描述
使用工具:Stegsolve 简单的翻了一下 得到了部分拼接一下得到完整的flag。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

ctfshow{84470883ee1eec2e886436461bf79111}

misc51

提示:你会数数吗。

在这里插入图片描述

参考文章 :得到脚本

from PIL import Image
im=Image.open('misc51.png')
im = im.convert('RGB')
img = Image.new("RGB",(900,150))

dic = {}

for h in range(900):
    for w in range(150):
        s = im.getpixel((h,w))
        dic[s] = dic.get(s,0)+1
lt = list(dic.items())
lt.sort(key = lambda x:x[-1])
print(lt)

再次便利 然后运行脚本 得到flag。

from PIL import Image
im=Image.open('misc51.png')
im = im.convert('RGB')
img = Image.new("RGB",(900,150))

for h in range(900):
    for w in range(150):
        s = im.getpixel((h,w))
        if s == (64, 96, 128) or s == (128, 96, 64):
            img.putpixel([h, w], (255, 255, 255))
img.show()

在这里插入图片描述

ctfshow{51fcc6228d768a3acab1d05572e52133}

misc52

不会数数没关系,这次可以用眼睛瞪。

和上一题差不多还是需要使用脚本便利然后获取到了flag。

from PIL import Image
im=Image.open('misc52.png')
im = im.convert('RGB')
img = Image.new("RGB",(900,150))
lt = [(130, 176, 116),(72, 217, 123),(146, 16, 141),(130, 241, 105),(251, 160, 136),(5, 129, 88),(167, 46, 187),(20, 65, 141),(96, 231, 225),(196, 144, 18)]
for h in range(900):
    for w in range(150):
        s = im.getpixel((h,w))
        if s in lt:
            img.putpixel([h, w], (255, 255, 255))
img.show()

在这里插入图片描述

ctfshow{f87ad503c2c163471fbe768c9d7a9d6c}

misc53

提示:开始愉快的LSB部分。

使用工具Stegsolve RGB 通道设置都为0 即可得到flag

在这里插入图片描述

在这里插入图片描述

ctfshow{69830d5a3a3b5006f7b11193e9bc22a2}

misc54

提示:还是愉快的LSB部分。

和上一题一样使用工具Stegsolve查看 但是这里是竖排的所以需要调整一下参数

在这里插入图片描述

在这里插入图片描述

misc55

提示:怎么又是愉快的LSB部分。

在这里插入图片描述
这里的图片是反过来的 使用Stegsolve 发现通道存在隐写但是提取不了 所以 需要把图片发过来在进行操作 使用脚本:

from PIL import Image

img = Image.open('misc55.png')

img.transpose(Image.FLIP_TOP_BOTTOM).save('out.png')

在这里插入图片描述

然后发现是PK头 保存bin 另存为 解压即可得到flag

在这里插入图片描述

ctfshow{daf256838e19a19d9e7b0a69642ad5ee}

misc56

提示:怎么老是愉快的LSB部分。

使用工具Stegsolve R4、R2、R1、G4、G2、G1通道有隐写痕迹
在这里插入图片描述

ctfshow{1b30c28a5fca6cec5886b1d2cc8b1263}

本文转自 https://blog.youkuaiyun.com/Aluxian_/article/details/125831308?ops_request_misc=%257B%2522request%255Fid%2522%253A%25229ac62466fbe751c66283b98d7dd70a80%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=9ac62466fbe751c66283b98d7dd70a80&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-125831308-null-null.142v102pc_search_result_base8&utm_term=ctfshow&spm=1018.2226.3001.4187,如有侵权,请联系删除。
黑客/网络安全学习包

资料目录

  1. 成长路线图&学习规划

  2. 配套视频教程

  3. SRC&黑客文籍

  4. 护网行动资料

  5. 黑客必读书单

  6. 面试题合集

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.SRC&黑客文籍

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!

4.护网行动资料

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

5.黑客必读书单

**

**

6.面试题合集

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

更多内容为防止和谐,可以扫描获取~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值