首页 > 其他分享 >MISC从入门到放弃

MISC从入门到放弃

时间:2024-11-22 12:29:42浏览次数:1  
标签:文件 ciphertext des 入门 隐写 MISC flag txt 放弃

右侧有目录导航

[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

标签:文件,ciphertext,des,入门,隐写,MISC,flag,txt,放弃
From: https://www.cnblogs.com/arui-li/p/18562543

相关文章

  • (长期更新)《零基础入门 ArcGIS(ArcMap) 》实验一(上)----空间数据的编辑与处理(超超超详细
    老规矩,点赞+收藏+长评+关注!!!需要实验数据的直接划到博客最底端。目录ArcMap介绍概念操作地图操作地图浏览分析显示结果定制编程ArcMap下载ArcMap实验--空间数据的编辑与处理1.1实验内容及目的1.1.1实验内容1.1.2实验目的1.2实验方案1.3操作流程1.3.1环境设......
  • 20241122电路板维修入门之集成块焊接篇
    在没有热风焊台的情况下,也可考虑用烙铁配合焊锡来拆除或焊接集成块,它的方法是用烙铁在芯片的各个引脚都堆满焊锡,然后用烙铁循环把焊锡加热,直到所有的引脚焊锡都同时熔化,就可以把芯片取下来了。把芯片从电路板上取下来,可以考虑用细铜丝从芯片的引脚下穿过,然后从上面用手提起。......
  • 20241121电路板维修入门之CPU断针焊接篇
    CPU断针的情况很常见,370结构的赛扬一代CPU和P4的CPU针的根部比较结实,断针一般都是从中间折断,比较容易焊接,只要在针和焊盘相对应的地方涂上焊膏,上了焊锡后用烙铁加热就可以焊上了,对于位置特殊,不便用烙铁的情况可以用热风焊台加热。赛扬二代的CPU的针受外力太大时往往连根拔起,且......
  • C语言_入门例题_PAGE1
    入门例题在屏幕上输入一行信息#include<stdio.h>intmain() { printf("ThisisaCprogram.\n"); return0; }求两个整数之和#include<stdio.h>intmain() { inta,b,sum; a=123; b=456; sum=a+b; printf("sumis%d\n",sum);//%d是指定输......
  • 入门RTOS第七篇(队列函数)
    1.使用队列的流程:创建队列,写队列,读队列,删除队列2.创建队列有两种方法:动态分配内存、静态分配内存函数原型如下:QueueHandle_txQueueCreate(UBaseType_tuxQueueLength,UBaseType_tuxItemSize);静态分配内存:xQueueCreateStatic,队列的内存要事先分配好函数原型如下:Qu......
  • 运维怎么转行网络安全?零基础入门到精通,收藏这一篇就够了
    经常有人问我:干网工、干运维多年遇瓶颈,想学点新技术给自己涨涨“身价”,应该怎么选择?聪明人早已经用脚投票:近年来,越来越多运维的朋友寻找新的职业发展机会,将目光聚焦到了网络安全产业。1、为什么我建议你学习网络安全?有一种技术人才:华为阿里平安等大厂抢着要,甚至高薪难求......
  • 多线程编程入门Thread_Task_async_await简单秒懂
    `usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespace多线程编......
  • ThreeJs-02Threejs开发入门与调试
    这两天没有上传笔记,在解决图床的问题,主打一个白嫖,所以要费点心思,先是用了gitee的图床好不容易配好后发现居然加了防盗链,后面又转了github的咱目前来说github也是最稳定且免费的,现在搞好了图床以后上传笔记就很快了1.轨道控制器1控制物体移动前面我们创建了物体,为了让物体移动......
  • 带你从入门到精通——MySQL(四. 函数基础)
     建议先阅读我之前的博客,掌握一定的MySQL前置知识后再阅读本文,链接如下:带你从入门到精通——MySQL(一.基础知识)-CSDN博客带你从入门到精通——MySQL(二.单表查询)-CSDN博客带你从入门到精通——MySQL(三.多表查询)-CSDN博客目录四. MySQL函数基础4.1数值函数4.1.1ROU......
  • ELK 圣经:Elasticsearch、Logstash、Kibana 从入门到精通
    本文原文链接文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完......