MISC从入门到放弃

[BUUCTF]RSA

分析

得到一段文字:

在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17
求解出d作为flga提交

解题

第一想法是python脚本,网上找到一个

import gmpy2
p = 473398607161
q = 4511491
e = 17
d = int(gmpy2.invert(e,(p-1)*(q-1)))
print(d)

得到flag{125631357777427553}

本应在这里就结束……但在其他博主发现一个关于rsa解密软件

RSATOOL

使用: 1.Number Base 设置为十进制 2.注意:Public Exponent这里要使用16进制的数,如果公钥e=17的话,就应该填入十六进制的11 3.给出p,q,e的话直接填入,再点击Calc.D,获得d 4.给出的是n和e的话,输入n和e,点击Factor N(分解),得到p,q,再重复第3步就能得到d了

原文链接:https://blog.csdn.net/MikeCoke/article/details/105920084

将本题带入:(已知p,q,e)

keysize不知道是个啥,但数值好像不影响……

得出flag,即D

[BUUCTF]Mysterious

分析

下载得到可执行文件,随便输入一些,没得反应

解题

PE..L..说明其为32位的exe文件,放入IDA

PE…d…是64位程序

shift+F12检索字符串,看到well done,点进去

原因:大佬说这可能表示该程序输入成功后的情况

类似于答案的文字

左侧401090进去,接着F5进行反编译

将已编译的机器码或字节码重新转换回高级编程语言的过程,让其“易读”

主要分析这一段:

if ( v10 == 123 && v12 == 120 && v14 == 122 && v13 == 121 )
strcpy(Text, "flag");
memset(&v7, 0, 0xFCu);将v7的前252个字节设置为0。
_itoa(v10, &v5, 10);将v10转换为字符串并存储在&v5中。即v5=“123”
strcat(Text, "{");
strcat(Text, &v5);将v5(即v10的字符串表示)连接到Text的末尾。
strcat(Text, "_");
strcat(Text, "Buff3r_0v3rf|0w");
strcat(Text, "}");:将"}"
MessageBoxA(0, Text, "well done", 0);显示一个消息框,内容为Text,标题为"well done"。

所以输出txt为

flag{123_Buff3r_0v3rf|0w}

[BUUCTF]disk

分析

VMDK:(VMWare Virtual Machine Disk Format)是虚拟机VMware创建的虚拟硬盘格式,文件存在于VMware文件系统中,被称为VMFS(虚拟机文件系统)

解题

凡是先打开010

获得ctf{unseCure_quick_form4t_vo1umer

查找另外一半

用7Z打开该vmdk文件,发现fat

FAT文件系统是微软在上个世纪七八十年代为DOS系统开发的一种文件系统。最初是FAT12系统,用在软盘上。后来计算机硬件不断发展,逐渐推出了FAT16和FAT32。 它们大体上是一致的,本质的不同之处在于描述文件存储的FAT表中各元素的长度分别为12位, 16位和32位。

fat文件可以使用VeraCrypt进行挂载

选择一个磁盘,我这里选择E,然后加载

发现需要密码

猜rctf

图片名称提到ignore,那就先不管,在网上看到这段话

这里就有个盲区知识点,在挂载输入密码的时候,不同的密码可以进入不同的文件系统

使用这个password2

用winhex-工具-打开磁盘

找到另一半 李大普

_and_corrupted_1nner_v0lume}

flag{unseCure_quick_form4t_vo1ume_and_corrupted_1nner_v0lume}


知识点:vmdk与fat文件,veracrypt使用

[BUUCTF]数据包中的线索

解题

打开pcapng,进行协议分级,发现Line-based text date占比较大,将其过滤出来

{C6716B64-44EC-4F91-9A05-5FBA36E29A6E}

追踪HTTP流,发现base64编码

复制 解码

没看到JFIF以为magic又出问题了,于是换了个网址https://the-x.cn/base64,

下载JPG文件,得出flag

发现电脑好像不可以识图复制flag,果断拿起手机微信识图……

[BUUCTF]喵喵喵

分析

题目是一张图片,打开属性,放入010editor,无果;于是想到LSB隐写

解题

发现一张PNG,但开头不太对劲

将其保存txt文件,发现放入010editor并不可以修改开头

在某位大佬博客中学到一个方法,如下:

首先,在notepad中打开txt文件

Alt按列选择左侧复制,放入Cyberchef

两者交换

下载图片,得到一个二维码

大概率宽高被修改了,在010中进行修改,得到一个完整二维码

扫码得到网址:https://pan.baidu.com/s/1pLT2J4f

接着,得到一个flag.rar,用winrar打开,得到flag.txt

太过分了! 在大佬的wp得知,这是NTFS文件隐写

NTFS文件隐写_ntfs隐写-CSDN博客

txt文件隐藏的信息思路

1.观察txt文件的属性说不定会有线索

2.txt文件里面是一堆空行可能存在snow隐写

3.存在NTFS隐写

并且在使用该工具时,下载的压缩包用WinRAR解压才可以提取到隐藏的文件

流隐写得用WinRAR解压

随后得到一个反编译文件python pyc文件 – 知乎

利用在线反编译工具在线Python pyc文件编译与反编译,得到如下代码

# Visit https://www.lddgo.net/string/pyc-compile-decompile for more information
# Version : Python 2.7

import base64

def encode():
    flag = '*************'
    ciphertext = []#初始化一个空列表ciphertext,用于存储加密后的字符
    for i in range(len(flag)):#使用一个for循环遍历flag字符串中的每个字符。
        s = chr(i ^ ord(flag[i]))#对于每个字符,使用它的索引i和字符的ASCII值进行异或操作,然后使用chr函数将结果转换为一个字符。
        if i % 2 == 0:
            s = ord(s) + 10#如果是偶数,将字符s的ASCII值增加10。
        else:
            s = ord(s) - 10#如果是奇数,将字符s的ASCII值减少10
        ciphertext.append(str(s))#将处理后的字符s转换为字符串,并添加到ciphertext列表中
    
    return ciphertext[::-1]#函数返回ciphertext列表的逆序。

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']#定义了一个ciphertext列表,包含了加密后的字符的ASCII值的字符串表示,这个列表是按照加密函数的逻辑生成的

这段代码是一个加密程序,据此,可有写一个脚本将flag解出来,由于能力有限,借鉴一下网上大佬

def decode(ciphertext):
    # 反转密文列表
    ciphertext = ciphertext[::-1]
    flag = []
    
    for i in range(len(ciphertext)):
        s = int(ciphertext[i])
        
        # 根据索引的奇偶性进行逆操作
        if i % 2 == 0:
            s -= 10
        else:
            s += 10
        
        # 进行逆向的按位异或操作
        original_char = chr(i ^ s)
        flag.append(original_char)
    
    # 将列表中的字符拼接成字符串
    return ''.join(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'
]

# 解密得到的flag
flag = decode(ciphertext)
print("解密后的flag是:", flag)

解密后的flag是: flag{Y@e_Cl3veR_C1Ever!}


参考:【CTF入门】BUUCTF Misc刷题(持续更新) – Super_Snow_Sword – 博客园

知识点:图片隐写,Lsb,txt隐写,宽高,NTFS隐写,py反编译

[BUUCTF]丢失的MD5

分析

打开,得到py文件

import hashlib   
for i in range(32,127):
    for j in range(32,127):
        for k in range(32,127):
            m=hashlib.md5()
            m.update('TASC'+chr(i)+'O3RJMV'+chr(j)+'WDJKX'+chr(k)+'ZM')
            des=m.hexdigest()
            if 'e9032' in des and 'da' in des and '911513' in des:
                print des

诶 我看不懂 运行一下 报错 直接找ai

ai给了我答案

import hashlib

for i in range(32, 127):
    for j in range(32, 127):
        for k in range(32, 127):
            m = hashlib.md5()
            m.update('TASC'.encode() + chr(i).encode() + 'O3RJMV'.encode() + chr(j).encode() + 'WDJKX'.encode() + chr(k).encode() + 'ZM'.encode())
            des = m.hexdigest()
            if 'e9032' in des and 'da' in des and '911513' in des:
                print(des)

得出flag{e9032994dabac08080091151380478a2}

非常草率……

[攻防世界]Pixel-Princess

解题

下载得到一个压缩包

一开始用winrar解压。得到一串jpg字符

修改文件头发现没有,以为就是这么一个文件

后面卡住时看一眼wp发现原来这就有一个图片,换成7Z之后能解压出来

分离一下这个,得到MarioCastle.jpg

得到一个密码:BaD_DR4G0N

没错,就是卡在了这里发现winrar解压出来的本应是一个图片文件

看了一下wp,原来这里还要分离,密码就是上图中提供的密码

得到flag

[攻防世界]信号不好先挂了

分析

又是图片隐写

我也先挂了……

解题

save bin

保存后的zip还需要修复一下才能解压缩

……怎么里面又是这张图片

Misc隐写术 – Scr1pt? – 博客园

两张一样图片还可在stegslove合成图片

BlindWaterMark这个工具一直报错(麻木)

直接打开puzzlesolve,得到图片


知识点:盲水印

信女愿一台不会报错的电脑

[攻防世界]看雪看雪看雪

分析

得到一个rar文件,里面有一张jpg

南方孩子羡慕

按照图片隐写思路:

  • 属性
  • 010editor(隐藏文件分离,宽高)
  • stegslove

解题

按照刚才思路,没有什么发现

回头看看题目“看雪看雪看雪”,好像有个东西叫雪隐写

后面看wp,其实属性里面有提及过,只是我没有注意到…….

所以压缩包内可能有其他我看不见的文件

于是乎

将后面这一大段复制进sublime

看吧,里面还是有东西的

将其全部复制下来进一个新的txt文件,用snow工具

得到flag


知识点:图片隐写,snow隐写

[攻防世界]打野

解题

得到一张bmp文件

查看010,stegslove,暂时没啥发现

看了wp,学到一个新工具———zsteg

然后我一使用,出问题了

(but之前写另外一个题目没问题)

…………

时隔多日,我又回来了

如果zsteg出现栈报错“tack level too deep (SystemStackError)”,可以将命令改成“zsteg –msb 瞅啥.bmp”或“zsteg -o xY 1.bmp”,改变扫描顺序。 -o 是设置行列的读取顺序 –msb:most significant BIT comes first,最高有效位排在第一位

得出qwxf{you_say_chick_beautiful?}

[攻防世界]不确定,再看看

题目

做题做累了吧,给你准备了一道钢琴曲,要仔细听哦!我藏得很深。

hint1:信息隐藏一般要求载体需要有一定的冗余度,而base64编码刚好就有这个特点。

解题

下载得到音频文件

放入Audacity,并无收获

解锁新工具Deepsound

主要用于处理音频文件的加密。以将敏感数据隐藏在音频文件中,从而实现数据的保密和安全传输。

得到txt文件base64.txt

解码


知识点:音频隐写,新工具Deepsound

[BUUCTF]黄金6年

分析-解题

现在010editor中打开,发现最后有base64编码

进行解密,结果是一个rar文件,直接保存(该网站可以直接保存解码后文件)

Base64解码 Base64编码 UTF8 GB2312 UTF16 GBK 二进制 十六进制 解密 – The X 在线工具 (the-x.cn)

打开rar

发现需要密钥,那么应该在视频中存在线索;在Kinovea打开视频

二维码结果:

i

二维码结果:

want

二维码结果:

play

二维码结果:

ctf

即 iwantplayctf

即txt的密钥

得出roarctf{CTF-from-RuMen-to-RuYuan}

[BUUCTF](╯°□°)╯︵ ┻━┻

原来这串符号是“掀翻桌子”……

分析

(╯°□°)╯︵ ┻━┻ 50pt

(╯°□°)╯︵ ┻━┻

d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd

以为是颜文字,不如我所料,这啥也不是……

后面一串编码看起来像16进制,但是放在解码工具并没有想要的结果

50pt不知道是个啥

解题

使用脚本

n = "d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd"
answer = ""
for i in range(0, len(n), 2):
    m = n[i: i + 2]
    answer += chr(int(m, 16) - 128)
print(answer)

得出 DDCTF{922ab9974a47cd322cf43b50610faea5}

[BUUCTF]docx

分析

下载后是一个docx文件,在里面搜寻flag,无果。将其放入010editor分析

解题

发现这其实是zip文件,将docx改成zip后打开

得到flag{unz1p_3v3ryth1ng}


知识点:关于办公文件的隐写

[BUUCTF]间谍启示录

分析

下载后是一个iso文件

.iso 文件是一种常用的光盘映像文件格式,它可以精确地复制光盘上的所有数据,包括文件、目录结构以及文件系统属性。ISO 文件通常用于备份光盘内容、分发操作系统安装介质、或者在网络上传输大容量的数据。ISO 文件可以包含任何类型的文件,如文档、音频、视频、软件安装包等。

解题

先放进010editor,发现隐藏了文件

用foremost分解,得到一大堆

{25C75FA8-296B-41E6-8C80-E0FF04B52426}.png

其中,在rar中有可运行文件

运行flag.rar

可以得到txt,其中有flag

该txt文件是隐藏文件,查看方法如下:


运行“文件已销毁.exe”发现“flag.exe”被销毁了;通过搜索,得知这是一个自解压文件。

以下信息来自网络! 自解压文件一个 SFX (SelF-eXtracting)自解压文件是压缩文件的一种,因为它可以不用借助任何压缩工具,而只需双击该文件就可以自动执行解压缩,因此叫做自解压文件。同压缩文件相比,自解压的压缩文件体积要大于普通的压缩文件(因为它内置了自解压程序),但它的优点就是可以在没有安装压缩软件的情况下打开压缩文件(文件类型为.exe格式)。

它结合了可执行文件模块,一种用以运行从压缩文件解压文件的模块。这样的压缩文件不需要外部程序来解压自解压文件的内容,它自己便可以运行该项操作。然而 WinRAR 仍然可将自解压文件当成是任何其它的压缩文件处理。所以如果你不愿意运行所收到的自解压文件 (比如说,它可能含有病毒时),你可以使用 WinRAR 来查看或是解压它的内容。

自解压文件通常与其它的可执行文件一样都有 .exe 的扩展名。

自解压文件是很方便的,如果你想要将压缩文件给某一个人时,但却不知道他们是否有该压缩程序可以解压文件的时候。你也可以使用自解压来发布你自己的软件,例如 WinRAR 的安装程序便是使用图形 GUI RAR 自解压模块 Default.sfx 所制作的。什么叫自解压?

自解压可执行文件的后缀名为exe,用压缩软件生成这种格式的文件后,再打开时你可以不必借助压缩软件进行解压,它可自行解压。

如果你的机器上没有安装压缩软件,别人给你了一份经过压缩的文件,你是打不开的,但自解压的可执行文件却在任何电脑都能运行,还原出你需要的文件。


知识点:iso隐写,自解压文件

[BUUCTF]

分析

下载得到有个文件,放入010,得知文件为一个PDF

解题

将文件后缀改为pdf形式

得到线索:FLAG被图片覆盖了,pdf是不能移动图片的,将其在Word中打开

微信识图

0x77637466323032307b746831735f31735f405f7064665f616e645f7930755f63616e5f7573655f70686f7430736830707d

将字符带入工具,得到flag

wctf2020{th1s_1s_@_pdf_and_y0u_can_use_phot0sh0p}

玄机博客
© 版权声明
THE END
喜欢就支持一下吧
点赞453 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容