MISC从入门到放弃

打印 上一主题 下一主题

主题 861|帖子 861|积分 2593

[BUUCTF]RSA

分析

得到一段文字:
  1. 在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17
  2. 求解出d作为flga提交
复制代码
解题

第一想法是python脚本,网上找到一个
  1. import gmpy2
  2. p = 473398607161
  3. q = 4511491
  4. e = 17
  5. d = int(gmpy2.invert(e,(p-1)*(q-1)))
  6. 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举行反编译
将已编译的机器码或字节码重新转换回高级编程语言的过程,让其“易读”

主要分析这一段:
  1. if ( v10 == 123 && v12 == 120 && v14 == 122 && v13 == 121 )
  2. strcpy(Text, "flag");
  3. memset(&v7, 0, 0xFCu);将v7的前252个字节设置为0。
  4. _itoa(v10, &v5, 10);将v10转换为字符串并存储在&v5中。即v5=“123”
  5. strcat(Text, "{");
  6. strcat(Text, &v5);将v5(即v10的字符串表示)连接到Text的末尾。
  7. strcat(Text, "_");
  8. strcat(Text, "Buff3r_0v3rf|0w");
  9. strcat(Text, "}");:将"}"
  10. 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占比较大,将其过滤出来

追踪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文件编译与反编译,得到如下代码
  1. # Visit https://www.lddgo.net/string/pyc-compile-decompile for more information
  2. # Version : Python 2.7
  3. import base64
  4. def encode():
  5.     flag = '*************'
  6.     ciphertext = []#初始化一个空列表ciphertext,用于存储加密后的字符
  7.     for i in range(len(flag)):#使用一个for循环遍历flag字符串中的每个字符。
  8.         s = chr(i ^ ord(flag[i]))#对于每个字符,使用它的索引i和字符的ASCII值进行异或操作,然后使用chr函数将结果转换为一个字符。
  9.         if i % 2 == 0:
  10.             s = ord(s) + 10#如果是偶数,将字符s的ASCII值增加10。
  11.         else:
  12.             s = ord(s) - 10#如果是奇数,将字符s的ASCII值减少10
  13.         ciphertext.append(str(s))#将处理后的字符s转换为字符串,并添加到ciphertext列表中
  14.    
  15.     return ciphertext[::-1]#函数返回ciphertext列表的逆序。
  16. ciphertext = [
  17.     '96',
  18.     '65',
  19.     '93',
  20.     '123',
  21.     '91',
  22.     '97',
  23.     '22',
  24.     '93',
  25.     '70',
  26.     '102',
  27.     '94',
  28.     '132',
  29.     '46',
  30.     '112',
  31.     '64',
  32.     '97',
  33.     '88',
  34.     '80',
  35.     '82',
  36.     '137',
  37.     '90',
  38.     '109',
  39.     '99',
  40.     '112']#定义了一个ciphertext列表,包含了加密后的字符的ASCII值的字符串表示,这个列表是按照加密函数的逻辑生成的
复制代码
这段代码是一个加密程序,据此,可有写一个脚本将flag解出来,由于能力有限,借鉴一下网上大佬
  1. def decode(ciphertext):
  2.     # 反转密文列表
  3.     ciphertext = ciphertext[::-1]
  4.     flag = []
  5.    
  6.     for i in range(len(ciphertext)):
  7.         s = int(ciphertext[i])
  8.         
  9.         # 根据索引的奇偶性进行逆操作
  10.         if i % 2 == 0:
  11.             s -= 10
  12.         else:
  13.             s += 10
  14.         
  15.         # 进行逆向的按位异或操作
  16.         original_char = chr(i ^ s)
  17.         flag.append(original_char)
  18.    
  19.     # 将列表中的字符拼接成字符串
  20.     return ''.join(flag)
  21. ciphertext = [
  22.     '96', '65', '93', '123', '91', '97', '22', '93', '70', '102',
  23.     '94', '132', '46', '112', '64', '97', '88', '80', '82', '137',
  24.     '90', '109', '99', '112'
  25. ]
  26. # 解密得到的flag
  27. flag = decode(ciphertext)
  28. print("解密后的flag是:", flag)
复制代码
解密后的flag是: flag{Y@e_Cl3veR_C1Ever!}
参考:【CTF入门】BUUCTF Misc刷题(持续更新) - Super_Snow_Sword - 博客园
知识点:图片隐写,Lsb,txt隐写,宽高,NTFS隐写,py反编译
[BUUCTF]丢失的MD5

分析

打开,得到py文件
  1. import hashlib   
  2. for i in range(32,127):
  3.     for j in range(32,127):
  4.         for k in range(32,127):
  5.             m=hashlib.md5()
  6.             m.update('TASC'+chr(i)+'O3RJMV'+chr(j)+'WDJKX'+chr(k)+'ZM')
  7.             des=m.hexdigest()
  8.             if 'e9032' in des and 'da' in des and '911513' in des:
  9.                 print des
复制代码
诶 我看不懂 运行一下 报错 直接找ai
ai给了我答案
  1. import hashlib
  2. for i in range(32, 127):
  3.     for j in range(32, 127):
  4.         for k in range(32, 127):
  5.             m = hashlib.md5()
  6.             m.update('TASC'.encode() + chr(i).encode() + 'O3RJMV'.encode() + chr(j).encode() + 'WDJKX'.encode() + chr(k).encode() + 'ZM'.encode())
  7.             des = m.hexdigest()
  8.             if 'e9032' in des and 'da' in des and '911513' in des:
  9.                 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文件

解码

知识点:音频隐写,新工具Deepsound
[BUUCTF]黄金6年

分析-解题

现在010editor中打开,发现末了有base64编码

举行解密,结果是一个rar文件,直接保存(该网站可以直接保存解码后文件)
Base64解码 Base64编码 UTF8 GB2312 UTF16 GBK 二进制 十六进制 解密 - The X 在线工具 (the-x.cn)

打开rar

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

二维码结果:
  1. i
复制代码

二维码结果:
  1. want
复制代码

二维码结果:
  1. play
复制代码

二维码结果:
  1. ctf
复制代码
即 iwantplayctf
即txt的密钥

得出roarctf{CTF-from-RuMen-to-RuYuan}
[BUUCTF](╯°□°)╯︵ ┻━┻

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

(╯°□°)╯︵ ┻━┻ 50pt
(╯°□°)╯︵ ┻━┻
d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd
以为是颜文字,不如我所料,这啥也不是……
背面一串编码看起来像16进制,但是放在解码工具并没有想要的结果
50pt不知道是个啥
解题

使用脚本
  1. n = "d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd"
  2. answer = ""
  3. for i in range(0, len(n), 2):
  4.     m = n[i: i + 2]
  5.     answer += chr(int(m, 16) - 128)
  6. print(answer)
复制代码
得出 DDCTF{922ab9974a47cd322cf43b50610faea5}
[BUUCTF]docx

分析

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


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

得到flag{unz1p_3v3ryth1ng}
知识点:关于办公文件的隐写
[BUUCTF]间谍启示录

分析

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

  • WinRAR,7z,windos功能都可打开
解题

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

用foremost分解,得到一大堆

其中,在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中打开

微信识图
  1. 0x77637466323032307b746831735f31735f405f7064665f616e645f7930755f63616e5f7573655f70686f7430736830707d
复制代码
将字符带入工具,得到flag

wctf2020{th1s_1s_@_pdf_and_y0u_can_use_phot0sh0p}

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

篮之新喜

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表