【BUUCTF】MISC(第二页wp)

被劫持的神秘礼物

hint:某天小明收到了一件很特别的礼物,有奇怪的后缀,奇怪的名字和格式。小明找到了知心姐姐度娘,度娘好像知道这是啥,但是度娘也不知道里面是啥。。。你帮帮小明?找到帐号密码,串在一起,用32位小写MD5哈希一下得到的就是答案。

下载文件得到 pcapng 文件,使用 wireshark 分析。 我们查看http协议,追踪http数据流,发现账号密码:

image-20221228160632064

根据提示,将账号,密码串在一起,然后md5加密得到flag

image-20221228160749576

刷新过的图片

hint:浏览图片的时候刷新键有没有用呢

下载后得到一张jpg图片,然后进行binwalk等操作,发现都没有用

这个时候,观察题目,刷新键是F5,我们经过查询,发现有一个 F5隐写 全称:F5-steganography

然后有一款 F5隐写工具:F5-steganography 这款工具是基于java的

我们下载之后在命令行使用:

java Extract /xxx/yyy       //图片路径

payload:

java Extract C://Users//LIKE//Desktop//Misc.jpg

然后工具会将分割的文件放在 F5目录下的 output.txt中:

image-20221228162543845

打开发现是zip文件,改后缀为zip即可,打开发现zip伪加密,修改即可打开压缩包:

image-20221228162637137

[BJDCTF2020]认真你就输了

下载得到一个 xls 表格文件,拖进 010Editor 发现是zip格式:

image-20221228162954700

于是我们把 xls 后缀 改为zip 。发现里面很多文件:

image-20221228163037181

我们在 010Editorflag 关键字

image-20221228163119551

发现了 flag 的路径,找到打开得到 flag

[BJDCTF2020]藏藏藏

将图片拖进kali,使用 foremost 进行分离,得到zip文件,里面有一个 docx文档,打开有一个二维码,扫码得到flag

image-20221228170826564

被偷走的文件

hint:一黑客入侵了某公司盗取了重要的机密文件,还好管理员记录了文件被盗走时的流量,请分析该流量,分析出该黑客盗走了什么文件。

下载得到 pcapng 流量包文件,使用 wireshark 分析 ,由于hint说,盗走的是文件,于是我们锁定 ftp 协议

(文件传输协议)

image-20221228171658046

发现流量包存在 flag.rar 文件,于是我们使用 binwalk 分离数据包:

image-20221228171753014

分离得到一个rar文件,但是打开需要密码,由于没有任何线索,所以我们使用 ARCHPR 进行爆破

得到四位数密码,打开即flag

snake

下载后发现一张图片,使用foremost分离图片,得到两个文件:

image-20221228175126582

key中内容为base64编码,解密后:

What is Nicki Minaj’s favorite song that refers to snakes?

查了一下,发现歌名:anaconda,猜测歌名可能是某个密码。

但是 cipher 文件不知道什么东西。经过查阅得知,蛇snake还有另一个单词:serpent

serpent 是一种编码

我们使用网站解密:serpent解密

image-20221228175550808

key就是之前base64解密之后找到的:anacoda

解密即可得到flag

[GXYCTF2019]佛系青年

下载后得到 zip压缩包,解压需要密码,我们使用 Ziperello 扫一下,发现并无加密,为zip伪加密

于是我们使用 010Editor 打开对应zip,修改对应部分为 00:

image-20221228180315918

打开txt文件,发现是一串佛语:

image-20221228180352402

于是我们想到了与佛论禅 加密,使用网站解密即可

image-20221228180454598

[BJDCTF2020]你猜我是个啥

将文件使用 010Editor 打开,最底下就是flag

image-20221228180654293

秘密文件

hint:深夜里,Hack偷偷的潜入了某公司的内网,趁着深夜偷走了公司的秘密文件,公司的网络管理员通过通过监控工具成功的截取Hack入侵时数据流量,但是却无法分析出Hack到底偷走了什么机密文件,你能帮帮管理员分析出Hack到底偷走了什么机密文件吗?

直接使用 wireshark 分析 pcapng 流量包,由于提示:偷走的为文件,所以我们查找ftp协议

image-20221228181342686

发现数据包中存在rar压缩包,于是使用 foremost 提取rar压缩包

image-20221228181508305

得到rar压缩包后,使用 爆破工具 ARCHPR 爆破得到密码,打开得到flag

菜刀666

hint:流量分析,你能找到flag吗

使用 wireshark 打开, 题目说菜刀,我们过滤POST流量包:

http.request.method==POST
image-20221228201501614

打开数据包,发现有一个 zip压缩包,我们使用 foremost 分离

image-20221228201553960

得到zip压缩包,但是需要密码:

image-20221228201625176

image-20221228201659046

我们在tcp.stream eq 7 中发现大量数据,参数 z1 的值是base64编码,我们先url解码一下再base64解码:

image-20221228201818026

得到16进制数据,但是我们不能直接保存为 jpg 图片,我们使用脚本:

import binascii

hex_data= '这里填16进制数据'
out=open('result.jpg','wb')
out.write(binascii.unhexlify(hex_data))
out.close()
# 16进制转图片

得到图片:

image-20221228202004912

使用密码打开zip压缩包得到flag

[BJDCTF2020]just_a_rar

爆破压缩包,解压得到图片,flag在图片exif中:

image-20221228202436152

[BJDCTF2020]鸡你太美

下载得到两张gif图片,篮球副本图片显示不出来,我们使用 010Editor 打开两张GIF图片,

发现 副本图片缺少了 GIF 头:47 49 46 38

image-20221228203744974

我们加上并保存:

image-20221228203821348

得到 flag

[BJDCTF2020]一叶障目

image-20221228203939542

使用 010Editor 打开图片,发现图片 crc校验 不匹配

我们使用大佬写的crc校验脚本,修改宽高:

import zlib
import struct

with open(r'C:\\Users\\LIKE\Desktop\\1.png', 'rb') as image_data:
    bin_data = image_data.read()
data = bytearray(bin_data[12:29])  # 这段数据就是png图中IHDR段的16进制数据,不包括开始的length和最后CRC
crc32key = eval(str(bin_data[29:33]).replace(r'\x', '').replace("b'", '0x').replace("'", ''))
# 理论上0xffffffff,但考虑到屏幕实际,0x0fff就差不多了
n = 4096
# 高和宽一起爆破
for w in range(n):
    # q为8字节,i为4字节,h为2字节
    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)
        if crc32result == crc32key:
            print("width:%s  height:%s" % (bytearray(width).hex(), bytearray(height).hex()))
            exit()
image-20221228204958302 image-20221228205025551

修改一下得到flag

[SWPU2019]神奇的二维码

将二维码使用 binwalk 分离,获得很多压缩包和文件,

image-20221228210635038

打开flag.doc

image-20221228210701815

发现很多base64编码,由于被编码多次,我们使用脚本跑一下解码:

import base64
def decode(f):
    n = 0
    while True:
        try:
            f = base64.b64decode(f)
            n += 1
        except:
            print('[+]Base64共decode了{0}次,最终解码结果如下:'.format(n))
            print(str(f, 'utf-8'))
            break


if __name__ == '__main__':
    f = open('C://Users//LIKE//Desktop//flag.txt', 'r').read()
    decode(f)

得到: comEON_YOuAreSOSoS0great

我们用得到的密码可以打开音频压缩包:image-20221228210935883

使用 Audacity 去分析,发现是莫斯电码

image-20221228211013822

解密莫斯电码得到 flag(转小写)

梅花香之苦寒来

下载后得到一张jpg图片,末尾有一串16进制数据:

image-20221228212835117

16进制转文本 ,得:

image-20221228212928002

根据图片的 exif信息,提示要画图:

image-20221228213126640

因此,这可能是一串坐标。我们可以使用:gnuplot 绘图工具进行绘图

我们先把坐标转换为 gnuplot 可以识别的形式

image-20221228213538724

然后我们使用 gnuplot 画图:

plot "C://Users//LIKE//Desktop//1.txt"
image-20221228213718781

得到二维码,扫码得flag

[BJDCTF2020]纳尼

查看gif文件,发现缺少gif文件头

image-20221228214201186

我们添加文件头:

47 49 46 38
image-20221228214253254

得到一张gif,里面有base64编码,我们使用 StegSolveData Extract 模式

image-20221228214449359

获得每一帧编码:

image-20221228214538523

拼起来,然后base64解码得flag

穿越时空的思念

hint:嫦娥当年奔月后,非常后悔,因为月宫太冷清,她想:早知道让后羿自己上来了,带了只兔子真是不理智。于是她就写了一首曲子,诉说的是怀念后羿在的日子。无数年后,小明听到了这首曲子,毅然决定冒充后羿。然而小明从曲子中听不出啥来,咋办。。(该题目为小写的32位字符,提交即可)

使用 Audacity 分析,莫斯电码

[ACTF新生赛2020]outguess

下载后得到一堆东西:

image-20221228221425597

我们发现 mmm.jpg 的 exif 属性中有社会主义核心价值观,猜测是 社会主义核心价值观加密

image-20221228221519913

解密得到: abc

然后就无思路了,然后题目 : outguess

查询得知,有一种 outguess隐写

kali下安装 outguess 隐写工具

使用outguess

输入outguess -help即可获得相关命令。
加密:
outguess -k “my secret key” -d hidden.txt demo.jpg out.jpg
加密之后,demo.jpg会覆盖out.jpg,hidden.txt的内容是要隐藏的东西。
解密:
outguess -k “my secret key” -r out.jpg hidden.txt
解密之后,紧密内容放在hidden.txt中

image-20221228222800235

key就是前面解码得到的 abc

[HBNIS2018]excel破解

下载得到一个excel,打开需要密码,我们用 010Editor 打开,直接搜索flag:

image-20221228223047269

[HBNIS2018]来题中等的吧

打开下载的图片:

image-20221228223250642

使用莫斯电码解密即可

谁赢了比赛?

hint:小光非常喜欢下围棋。一天,他找到了一张棋谱,但是看不出到底是谁赢了。你能帮他看看到底是谁赢了么?

下载得到一张围棋图片:

image-20221228223914077

直接使用 binwalk 分离

image-20221228223948505

得到一个需要密码的 rar压缩包,我们使用 ARCHPR 爆破 ,得到密码,打开发现一张gif图片:

image-20221228224055977

我们使用 stegsolve(或者使用 GIFFrame ) 逐帧分析:

image-20221228224236256

发现第309帧不一样,我们保存这一张图片,然后使用 stegsolve 打开:

image-20221228224414124

切换通道发现出现一张二维码,扫码得到flag

[SWPU2019]我有一只马里奥

下载得到一个 exe 文件,执行发现生成了1个txt文件:

image-20221228224831011 image-20221228224843095

txt提示 ntfs,查阅资料知:ntfs流隐写

image-20221228225332134

查看方式:

notepad 1.txt:flag.txt
notepad 查看的文件:隐写的文件

[WUSTCTF2020]find_me

查看图片 exif 属性:

image-20221228225936303

发现是盲文,盲文解密 ,得到flag

image-20221228225816508

[GXYCTF2019]gakki

下载后打开jpg图片,发现末尾藏有rar压缩包:

image-20221228230431265

使用 binwalk 分离,将分离后存在密码的rar文件爆破得到密码:

image-20221228230610157

打开txt文件:

image-20221228230704492

发现了毫无规律的字符组成

通过查询,我们知道可能是根据字符出现频率得到flag

# 统计txt文件中给符号的频率。按降序排列

alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_+- =\\{\\}[]"

strings = open('flag.txt').read();

result = {}

for i in alphabet:
    counts = strings.count(i)
    # i = '{0}'.format(i)
    result[i] = counts


res = sorted(result.items(),key=lambda x:x[1],reverse=True)
for data in res:
    print(data)

for i in res:   #将结果一行输出
    flag = str(i[0])
    print(flag,end="")

使用大神脚本,可以得到:频率降序排列字符

image-20221228231000168

前面几个几位flag

[ACTF新生赛2020]base64隐写

观察题目,并查阅资料,我们了解到 base64隐写 这么个东西

我们打开txt文件,发现很多base64编码:

image-20221229094352736

要是我们直接去解码的话,结果是不对的,只有一小串base64被解出来。

我们参考网上大佬写的脚本:

def get_base64_diff_value(s1, s2):
    base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
    res = 0
    for i in xrange(len(s2)):
        if s1[i] != s2[i]:
            return abs(base64chars.index(s1[i]) - base64chars.index(s2[i]))
    return res


def solve_stego():
    with open('base64.txt', 'rb') as f:
        file_lines = f.readlines()
        bin_str = ''
        for line in file_lines:
            steg_line = line.replace('\n', '')
            norm_line = line.replace('\n', '').decode('base64').encode('base64').replace('\n', '')
            diff = get_base64_diff_value(steg_line, norm_line)
            print diff
            pads_num = steg_line.count('=')
            if diff:
                bin_str += bin(diff)[2:].zfill(pads_num * 2)
            else:
                bin_str += '0' * pads_num * 2
            print goflag(bin_str)


def goflag(bin_str):
    res_str = ''
    for i in xrange(0, len(bin_str), 8):
        res_str += chr(int(bin_str[i:i + 8], 2))
    return res_str


if __name__ == '__main__':
    solve_stego()

运行时,我们在python2环境下,我们使用dos来运行:

D:\Applications\CTF\phpstudy_pro\WWW\scripts_py>python base64_diff_value.py
image-20221229094727645

结果跑出来了

[GUET-CTF2019]KO

image-20221229094949110

打开txt,发现很多 ook ,于是想起了 ook编码,ook解密

image-20221229095056984

使用网站解密即可。

[MRCTF2020]ezmisc

将图片使用 010Editor 打开,发现crc校验失败:

image-20221229102415636
import struct
import binascii
import os
 
m = open("C:\\Users\\LIKE\\Desktop\\flag.png", "rb").read()
k = 0
for i in range(5000):
    if k == 1:
        break
    for j in range(5000):
        c = m[12:16] + struct.pack('>i', i) + struct.pack('>i', j) + m[24:29]
        crc = binascii.crc32(c) & 0xffffffff
        if crc == 0x370c8f0b:
            k = 1
            print(hex(i), hex(j))
            break

使用脚本跑一下,算出宽高:

image-20221229102524745 image-20221229102558459

修改一下得到flag

[SWPU2019]伟大的侦探

将txt文件使用 010Editor 打开,然后更换编码为: EBCDIC

image-20221229103128288

发现可以正常显示了:

image-20221229103239863

然后使用此密码去解压压缩包,发现文件夹里面有很多跳舞的小人:

image-20221229103350999

我们经过查阅,发现有一个福尔莫斯跳舞的小人密码

img

对照一下,得到flag

黑客帝国

hint:Jack很喜欢看黑客帝国电影,一天他正在上网时突然发现屏幕不受控制,出现了很多数据再滚屏,结束后留下了一份神秘的数据文件,难道这是另一个世界给Jack留下的信息?聪明的你能帮Jack破解这份数据的意义吗?

打开txt文件,发现很多16进制:

image-20221229103958975

发现前面的数字好像是rar文件头

由于这都是16进制的,我们想要得到rar压缩包必须使用二进制,所以我们可以写一个脚本实现转换为2进制

关于二进制转换

binascii.b2a_hex(data)和binascii.hexlify(data):返回二进制数据的十六进制表示。每个字节被转换成相应的2位十六进制表示形式。因此,得到的字符串是是原数据长度的两倍。

binascii.a2b_hex(hexstr) 和binascii.unhexlify(hexstr):从十六进制字符串hexstr返回二进制数据。是b2a_hex的逆向操作。 hexstr必须包含偶数个十六进制数字(可以是大写或小写),否则报TypeError。

import binascii
# 16进制转图片
hex_data = open("C://Users//LIKE//Desktop//flag.txt").read()
out=open('result.rar','wb')
out.write(binascii.unhexlify(hex_data))
out.close()

运行后得到rar压缩包,发现需要密码,我们爆破即可得到密码。解压一下得到一张打不开的png图片

使用 010Editor 打开:

image-20221229105736644

发现图片末尾是 FF D9 说明图片可能是 jpg图片,我们改一下文件头为 FF D8

image-20221229105844217

就可以正常打开了

[MRCTF2020]你能看懂音符吗

使用 010Editor 打开压缩包,发现

image-20221229110041883

rar文件头反了,改一下:52 61 72 21

解压rar,发现一个文档,打开:

image-20221229110610632

发现里面很多音符,但是好像复制不了。。

于是我们使用 010Editor 打开:

image-20221229110748443

发现是zip压缩包。然后后缀改成 zip,解压一下,有很多文件。

我们在 这个文件中发现了音符:

image-20221229111055959

我们查询资料得知,有一种音符编码 直接解密 一下就行

image-20221229111257307

[HBNIS2018]caesar

image-20221229111500501

打开文件,题目是 : caesar 就是凯撒的意思,于是我们知道,这是凯撒密码,直接解密就行:

我使用 CTFCrack 解密:

image-20221229111650375

[HBNIS2018]低个头

image-20221229111806704

题目说低个头 ,并且有一些字母,我知道这个是键盘加密,但是由于之前只遇到过:键盘包围得出字母的题目,一时间不知道这是什么东西。

然后查资料知道了,这个是很多字母去组成字母的情况,然后就可以知道flag了:

在这里插入图片描述

在这里插入图片描述

11055959" style=“zoom: 25%;” />

我们查询资料得知,有一种音符编码 直接解密 一下就行

[外链图片转存中…(img-f6IuXNdg-1672285122376)]

[HBNIS2018]caesar

image-20221229111500501

打开文件,题目是 : caesar 就是凯撒的意思,于是我们知道,这是凯撒密码,直接解密就行:

我使用 CTFCrack 解密:

image-20221229111650375

[HBNIS2018]低个头

image-20221229111806704

题目说低个头 ,并且有一些字母,我知道这个是键盘加密,但是由于之前只遇到过:键盘包围得出字母的题目,一时间不知道这是什么东西。

然后查资料知道了,这个是很多字母去组成字母的情况,然后就可以知道flag了:

[外链图片转存中…(img-JUUhdzsQ-1672285122376)]

[外链图片转存中…(img-30M97o4T-1672285122377)]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值