BUUCTF MISC 刷题记录

**本文尽量不使用随波逐流等一把梭工具**

jinsanpang

下载得到gif动图 中间明显闪过flag串内容

分离动图得到flag

可以用一键分离的工具或脚本也可以用stegsolve的Frame Browser功能逐帧翻

你竟然赶我走

下载得到jpg文件,放进010editor中查看 图片尾存在flag

二维码

扫码得到误导信息secret is here(电脑扫码工具CQR) 

010分析发现图片尾明显存在压缩包特征(十六进制504B0304,文本PK)

**附常见文件头**

可以使用foremost、binwalk等方式提取压缩包文件

这里我们直接在010中创建十六进制文件然后将压缩包部分复制粘贴保存为.zip文件

打开压缩包发现加密文件"4number.txt"  提示密码为四位数字

使用ARCHPR对密码进行爆破

使用爆破得到的密码打开txt得到flag

大白

图片乍一看没啥问题 但放到kali中就会原形毕露

宽高正确的图片放进kali中应该会显示缩略图 而宽高不正确的图片则会像这样

以此判断图片宽高被修改 我们选择用脚本爆破宽高 也存在大量一把梭工具

import os
import binascii
import struct

crcbp = open(r"D:\桌面\workbench\dabai.png","rb").read()  # 打开图片= open("C://Users//abc//Desktop//flag.png","rb").read()
crc32frombp = int(crcbp[29:33].hex(), 16)  # 读取图片中的CRC校验值
print(crc32frombp)

for i in range(4000):  # 宽度1-4000进行枚举
    for j in range(4000):  # 高度1-4000进行枚举
        data = crcbp[12:16] + \
               struct.pack('>i', i) + struct.pack('>i', j) + crcbp[24:29]
        crc32 = binascii.crc32(data) & 0xffffffff
        # print(crc32)
        if (crc32 == crc32frombp):  # 计算当图片大小为i:j时的CRC校验值,与图片中的CRC比较,当相同,则图片大小已经确定
            print(i, j)
            print('hex:', hex(i), hex(j))
            exit(0)

得到结果 679 479

再次打开010 如图所示位置为png图片宽高信息 修改为爆破结果 或者直接给高度改一个超过原本高度的大值 也能得到flag

乌镇峰会种图

what can i say

wireshark

题目描述:黑客通过wireshark抓到管理员登陆网站的一段流量包(管理员的密码即是答案)

wireshark打开流量包 ctrl+f搜索如下

N种方法解决

exe文件看着唬人 010打开发现是base64加密的jpg文件

在线网站或脚本工具 base64解密并写入文件保存为jpg格式(实际是png) 扫码得到flag

推荐Base64解码 Base64编码 UTF8 GB2312 UTF16 GBK 二进制 十六进制 解密 - The X 在线工具

基础破解

题目描述四位数字加密 直接爆破 打开发现一串编码过的字符

base家族编码详解_base100-CSDN博客

简单来说最后一位或两位是等号的一眼base64 解码得到flag

文件中的秘密

文件属性详细信息

LSB

CTF(Misc)工具~stegsolve(图片隐写解析器)的使用_stegsolve使用方法-CSDN博客

stegsolve观察发现 red green blue 0通道中有异常数据

analyse dataextract勾选这3个通道发现其中隐藏了一个png图片 save bin另存为png文件得到二维码 扫码得到flag

zip伪加密

题目名字很明显了

zip伪加密原理及操作_zip加密原理-CSDN博客

简单来说就是文件中第二个14 00 后为跟着的两位为全局方式标记位 奇数显示为加密 偶数显示为未加密 修改伪加密全局方式标记为偶数即可打开伪加密压缩包(winrar直接点击压缩包修复大多数情况下可以直接修复伪加密(或一把梭工具))

被嗅探的流量

懒人方法:直接丢kali提取文件

正确方法:追踪tcp流发现 在eq2中上传了flag.jpg文件

图片末尾即为flag

rar

题目描述压缩包密码是四位纯数字 what can i say?

qr

扫码得到flag

镜子里面的世界

stegsolve熟悉的三个通道

或是直接在kali中使用zsteg得到key

还以为key有进一步加密结果就是flag了吗

爱因斯坦

图片尾部存在压缩包

属性备注中存在密码

分离压缩包并打开得到flag

ningen

图片尾部存在压缩包

题目描述压缩包密码为四位数字 爆破得到密码 解压得到flag

小明的保险箱

图片尾部存在RAR压缩包 提取后四位密码爆破得到flag

easycap

追踪tcp流得到flag

隐藏的钥匙

图片尾部存在大量垃圾数据 其中包含base64加密的flag 解密得到flag

另外一个世界

图片末尾存在01字符串 八位一组转ASCLL码得到flag

数据包中的线索

追踪tcp流 在eq7中发现大量base64编码,解密后转换为图片得到flag

Base64解码 Base64编码 UTF8 GB2312 UTF16 GBK 二进制 十六进制 解密 - The X 在线工具

神秘龙卷风

根据题目描述四位密码爆破 得到++++.>组成的龙卷风 一眼brainfuck

https://zhuanlan.zhihu.com/p/44091850

brainfuck解密得到flag

Brainfuck/Ook! Obfuscation/Encoding [splitbrain.org]

FLAG

stegsolve很模糊看不出来

可以放到kali里用zsteg

依旧是选择三个颜色的0通道发现压缩包 导出

打开会提示压缩文件损坏 但是没关系,直接用记事本打开文件发现flag

假如给我三天光明

下载得到一张图片和一个带有音频的压缩包

海伦凯勒+假如给我三天光明 一眼盲文

网上找个对照表翻译 使用翻译出的明文解压 打开压缩包得到音频文件

明显听到摩斯电码 

使用Audacity打开音频文件 放大后可以看出长短不一的音频波形图

较长的替换为-,较短的替换为.并添加空格可以将音频翻译为摩斯电码 

-.-.  -  ..-.  .--  .--.  .  ..  -----  ---..  --...  ...--  ..---  ..--..  ..---  ...--  -..  --..
 

摩斯电码在线识别网站

https://morsecode.world/international/decoder/audio-decoder-adaptive.html

去掉CTF后包裹flag头即可

后门查杀

题目描述:小白的网站被小黑攻击了,并且上传了Webshell,你能帮小白找到这个后门么?(Webshell中的密码(md5)即为答案)。

根据题目描述 我们需要找到文件夹中的后门 大概率是某种内存码 解压后直接使用D盾扫描

发现其中包含include.php文件

代码审计得到密码 即为flag

webshell后门

同上

来首歌吧

音频中段可以隐约听到摩斯声,audacity打开发现分为左右两声道

分离立体音轨 只保留左声道

破译摩斯得到flag

面具下的flag

文件尾部明显发现压缩包

提取后发现是伪加密 修复后得到flag.vmdk文件

其中存在key_part_one 是之前提到过的brainfuck编码

使用7z解压vmdx

7z x flag.vmdk -o./

可以看到key_part_two中出现了真正的flag2

ook解码后拼接得到真正flag

荷兰宽带数据泄露

下载得到conf.bin路由器配置文件使用routerpassview工具阅读

题目没说flag是什么 尝试使用用户名提交成功

九连环

分离图片得到压缩包

伪加密

jpg文件常用的一种加密方式steghide

隐写工具Steghide使用教程(win)-CSDN博客

得到ko.txt

解压得到flag

被劫持的神秘礼物

找到帐号密码,串在一起,用32位小写MD5哈希一下得到的就是答案

追踪TCP流

这里疑似为账号密码,拼在一起md5得到flag

认真你就输了

下载得到excel表 表中有一大堆垃圾信息 且不断提到flag就在chart下

按照中文直译应该是flag就在图表下 但是excel和word一样,如果将后缀改为.zip可以直接打开看到详细结构

于是将后缀改为.zip 在charts路径下找到flag.txt

被偷走的文件

直接搜索字符串 虽然不能直接得到flag但是找到了flag.rar

追进去发现其中有几个FTP的流

通过导出FTP-DATA就能保存到这个flag.rar

爆破压缩包密码得到flag

PS:可以直接用foremost分离出流量包中包含的文件

PPS:这题直接把流量包后缀改成zip也能直接打开

藏藏藏

010分析看到文件尾部有压缩包 单独提取得到一个 福利.docx 打开发现一个二维码 扫码得到flag

佛系青年

下载得到压缩包 其中png没有加密 txt被加密

翻了半天图片发现 压缩包是伪加密 服了 修复后打开得到

“佛曰:遮等諳勝能礙皤藐哆娑梵迦侄羅哆迦梵者梵楞蘇涅侄室實真缽朋能。奢怛俱道怯都諳怖梵尼怯一罰心缽謹缽薩苦奢夢怯帝梵遠朋陀諳陀穆諳所呐知涅侄以薩怯想夷奢醯數羅怯諸”

与佛论禅解密得到flag

你猜我是个啥

下载得到zip文件 想打开却失败了

放进010中观察发现是png文件

修改后缀后是一个二维码

扫码发现“flag不在这”

010图片尾发现flag(也就是说啥也不用改直接010也能看到)

刷新过的图片

题目描述“浏览图片的时候刷新键有没有用呢”

猜测为F5隐写

java Extract Misc.jpg

得到output.txt 但是明显是个zip文件

改后缀解压发现需要密码

修复伪加密打开得到flag

秘密文件

搜索flag发现这段话

又是用FTP传的一个rar文件

foremost分离

尝试打开发现需要密码 又没有提示 又尝试四位数字爆破

打开得到flag

鸡你太美

下载解压得到“篮球.gif"和”篮球副本.gif"

对比两个文件头可以看出 副本的文件头有残缺

修复后得到flag

just_a_rar

下载得到"4位数.zip"尝试四位数字爆破

解压后得到flag.jpg

010在图片中部发现flag

或是图片exif信息中直接查看

snake

图片尾部发现压缩包

解压得到cipher 和 key

记事本打开key发现base64编码

Nicki Minaj最喜欢的关于蛇的歌是什么?

通过百度得知为anaconda

但现在仍然不知道密文的加密方式

继续百度与蛇相关的加密方式

由于密文直接打开是乱码 所以可能要找一个直接对文件进行解密的在线网站

Serpent Encryption – Easily encrypt or decrypt strings or files

解密得到flag

菜刀666

追踪流可以看到很多文件

直接使用foremost 分离

得到压缩包提示需要密码

首先需要知道类似这样的语句是经过url编码和base64编码后得到的

而我们在流7中可以明显看到这样一大段内容

其中z2中的内容明显是一个jpg图片文件

将其单独导出后发现密码

使用密码解压压缩包得到flag

一叶障目

图片放入kali显示异常

说明宽高有问题

修改高度大于844得到flag

神奇的二维码

下载得到二维码

扫码肯定是假信息

binwalk提取出一大堆文件

其中 18394.rar需要密码

而flag.doc中存在大量密文

多次base64解码后得到key

comEON_YOuAreSOSoS0great

使用key打开压缩包得到good.mp3

分析 明显是摩斯密码

翻译后转小写得到flag

纳尼

提示:咦这个文件怎么打不开?

010补齐GIF文件头

得到的动图中每一帧都有一段base字符串

分离后使用QQ/微信截图的提取文字功能提取字符串

base64解码得到flag

excel破解

010秒了(感觉不是预期解)

来题中等的吧

摩斯 细的对应. 粗的对应-

梅花香之苦寒来

结合图片上的文字提示“图穷匕见” 发现图片尾有大量数据

十六进制转二进制得到大量坐标

根据图片属性中的提示猜测需要绘图

将得到的坐标保存后去掉前后括号

使用脚本绘图得到二维码 扫描二维码得到flag

import matplotlib.pyplot as plt
import numpy as np


x, y = np.loadtxt("D:\桌面\draft.txt", delimiter=',', unpack=True)
plt.plot(x, y, '.')
plt.show()

outguess

解压后图片属性中发现社会主义核心价值观加密

结合图片名字outguess使用outguess解密得到flag

谁赢了比赛?

图片尾疑似有文件

foremost提取文件 得到压缩包

爆破四位数字打开 提取出gif图片

其中第309、310帧特殊

单独提取保存

stegsolve观察red0通道发现二维码

扫码得到flag

find_me

备注中发现盲文

文本加密为盲文,可自设密码|文本在线加密解密工具

穿越时空的思念

很明显右声道是摩斯电码

翻译摩斯电码去除重复部分得到flag

我有一只马里奥

下载得到一个exe文件 双击运行会在当前目录下创建一个1.txt

内容如下

提示我们ntfs流

使用ntfs流处理工具检测1.txt就看到了flag.txt

KO

OOK解密

Brainfuck/Ook! Obfuscation/Encoding [splitbrain.org]

base64隐写

题如其名 解密得到flag

https://www.tr0y.wang/2017/06/14/Base64steg/

这篇博客讲的比较全了

(现在有很多直接解base64隐写的工具)

ezmisc

放入kali中发现图片宽高异常

修改宽高后得到flag

gakki

图片尾有RAR


提取后发现需要密码

四位数字爆破得到密码

打开发现flag.txt 疑似是一堆乱码

利用工具或写脚本字频分析拼接得到flag

caesar

题如其名 凯撒解密得到flag

single dog

图片尾压缩包

解压得到1.txt 里面都是颜文字 解密得到flag

颜文字加密 - 萌研社 - PcMoe!

低个头

题目名字 经典的键盘密码提示

EWAZX RTY TGB IJN IO KL

flag{CTF}

黑客帝国

RAR文件的十六进制

存在密码 四位数字爆破

解压得到png文件但是打不开 010观察发现其实是jpg文件修改了文件头

将文件头改回jpg即可打开图片得到flag

伟大的侦探

将文本文件放入010中 切换到EBCDIC编码方式即可看到密码

wllm_is_the_best_team!

使用该密码解压

得到一组图片 

跳舞小人加密

翻译得到flag

你能看懂音符吗

下载得到压缩包 发现打不开 010中观察 修改为普通RAR文件头52 61 72 21 

解压得到docx

正常应该看到这样一个word文档

而在设置中勾选上隐藏文字后即可看到隐藏的内容

但是正常复制好像复制不出来

我们还是把docx文件后缀改为zip

在该路径下即可找到word中的文字内容

文本加密为音乐符号,可自设密码|文本在线加密解密工具

音符解密得到flag

我吃三明治

010中观察发现文件尾隐藏了另一张图片

两张图片中间的一串编码即为base32加密后的flag(怪不得是三明治呢)

解密base32得到flag

你有没有好好看网课?

解压flag1得到flag2.zip 和 flag3.zip

其中flag3.zip提示密码为六位数字

得到flag.docx和影流之主.mp3

flag.docx中内容如下 最后下划线部分是个放大镜没显示出来

结合题目名字 “你有没有好好看网课” 猜测在视频5.20秒和7.11秒有内容 而且很小 开始盯帧

实际在视频的5.66秒发现一串敲击码 逆天了出题人

在7.38秒发现一串base64编码

分别解码后拼接得到密码wllmup_up_up

打开flag2.zip得到real flag.jpg

文件尾发现flag

NTFS数据流

解压文件得到500个文本文档

根据题目名用NTFS管理工具扫描

在293.txt中发现flag(有个坑点在于涉及到NTFS的文件要用winrar解压才行)

sqltest

根据题目名 观察流量包 不难猜测这是一个sql盲注流量包

我们只看http协议的请求包

在过滤器中写入http.request

导出分组解析结果为CSV文档

就可以看到所有sql注入的流量

这里直接跳到629行 爆破字段值 也就是flag

将629行的脚本URL解码

GET /index.php?act=news&id=1 and ascii(substr(((select concat_ws(char(94), flag)  from db_flag.tb_flag  limit 0,1)), 1, 1))>100 HTTP/1.1 

前一半不用看 我们只要分析and之后的内容

from db_flag.tb_flag:从flag数据的flag表中

select concat_ws(char(94),flag:选择flag字段,并用"^"连接

substr(.....,1,1):获取连接后字符串的第一个字符

ascii(....)>100:判断这个字符的ascii码是否大于一百

GET /index.php?act=news&id=1 and ascii(substr(((select concat_ws(char(94), flag)  from db_flag.tb_flag  limit 0,1)), 1, 1))>200 HTTP/1.1 

下一条判断是否大于两百

GET /index.php?act=news&id=1 and ascii(substr(((select concat_ws(char(94), flag)  from db_flag.tb_flag  limit 0,1)), 1, 1))>150 HTTP/1.1

再下一条判断是否大于一百五 通过两面包夹之式最终确定字符串的值

GET /index.php?act=news&id=1 and ascii(substr(((select concat_ws(char(94), flag)  from db_flag.tb_flag  limit 0,1)), 1, 1))>102 HTTP/1.1 

最终在六百三十九行确定了第一个字符的ascii码为102,也就是“f"

然后substr(...,2,1) 开始判断下一个字符

GET /index.php?act=news&id=1 and ascii(substr(((select concat_ws(char(94), flag)  from db_flag.tb_flag  limit 0,1)), 2, 1))>100 HTTP/1.1 

也就是说每一次substr的值更换之前 确定了上一个字符的值

我们只需要提取所有更换前的字符拼接就能得到flag

john-in-the-middle

追踪tcp流发现总共就六个流 可以自己手动看一看

发现这些流量中传递了一些文件 包括png图片

导出所有的http文件

logo.png中有一面小旗子 也就是flag

stegsolve观察得到flag

docx

打开word检索一番没什么信息

直接改后缀为zip 在media文件夹下发现大量文件

在最大的图片中发现flag

swp

153个TCP流 粗略看一遍 发现流量中存在图片 压缩包等文件 

导出看了一下除了secret.zip 其他东西好像都没什么用

伪加密修复打开flag.swp找到flag

SXMgdGhpcyBiYXNlPw==

Is this base?

打开文本文档发现大量base64编码 一眼base64隐写

解密得到flag

间谍启示录

foremost提取iso文件

运行flag.exe会在目录下生成一个机密文件.txt

如果没有记得开启文件夹的隐藏文件

喵喵喵

stegsolve观察图片 RGB0通道有异常 分析时选择BGR模式

得到png图片 save bin 保存为png后缀 发现图片打不开

010分析得到的图片 发现图片头有垃圾 把垃圾字节删掉再保存就行了

发现图片是半个二维码

010重新打开发现CRC有错误 

修改图片高度为280即可看到全部二维码

扫码得到一个网盘地址

下载解压后得到一个flag.txt

很坑爹 这里是NTFS隐写

用winrar解压单独放在文件夹里 用NTFS处理工具扫描

得到一个pyc文件

python的pyc文件详细理解 - 海_纳百川 - 博客园

这里用在线网站对pyc文件进行反编译方便我们阅读

python反编译 - 在线工具

或者用uncompyle6反编译

kali 中 pip install uncompyle6 安装

uncompyle6 1.pyc > 1.py导出py脚本

得到加密脚本

import base64

def encode():
    flag = '*************'
    ciphertext = []
    for i in range(len(flag)):
        s = chr(i ^ ord(flag[i]))
        if i % 2 == 0:
            s = ord(s) + 10
        else:
            s = ord(s) - 10
        ciphertext.append(str(s))
    
    return ciphertext[::-1]

ciphertext = [
    '96',
    '65',
    '93',
    '123',
    '91',
    '97',
    '22',
    '93',
    '70',
    '102',
    '94',
    '132',
    '46',
    '112',
    '64',
    '97',
    '88',
    '80',
    '82',
    '137',
    '90',
    '109',
    '99',
    '112']

写脚本逆向加密脚本

def decode(c):
	ciphertext = c[::-1]
	flag = ''
	for i in range(len(ciphertext)):
		if i % 2 == 0:
			s = int(ciphertext[i]) - 10
		else:
			s = int(ciphertext[i]) + 10
		s = s ^ i
		flag += chr(s)
	print(flag)

ciphertext = [
    '96',
    '65',
    '93',
    '123',
    '91',
    '97',
    '22',
    '93',
    '70',
    '102',
    '94',
    '132',
    '46',
    '112',
    '64',
    '97',
    '88',
    '80',
    '82',
    '137',
    '90',
    '109',
    '99',
    '112']
decode(ciphertext)

思路就是逆着加密脚本写得到flag

小易的U盘

.iso文件bandzip可以直接当作压缩包打开

可以观察到其中有一大堆垃圾文件 和一大堆autoflag.exe推测其中肯定有一个真的

打开autorun.inf 提示我们打开autoflag -副本(32)

运行这个exe会给在一个文件里一直写入"f"(别问怎么知道的)

这里有一点点不算逆向的逆向 用ida打开 exe

在main_0中找到flag(连F5都不用按)

解压得到一个无后缀文件 010观察应该是PDF

提示flag被图片挡住了

移开图片之后底下还是一张图片

用QQ截图功能提取文字

十六进制转字符得到flag

黄金6年

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值