CTF show misc之旅 (wp详解一部分)
前言
首先感谢ctf show平台提供题目
其次感谢各位读者,对我的支持( •̀ ω •́ )y 有什么问题和建议可以私聊我
废话不多话开启你们的CTF之旅吧
希望你们在旅途中玩的开心,学的开心✌( •̀ ω •́ )y
目录
1.杂项签到
2.misc2
3.Miscx
4.misc50
5.misc30
6.stega1
7. misc3
8. misc40
9.misc30
10. 红包题第一弹
11.stega10
12.stega11
13.misc4
14. misc31
15.misc49
16.misc6
17.misc7
18.misc8
19.红包题第五弹
20.stega2
21.stega3
加油各位( •̀ ω •́ )y 期待与君再相逢
1.杂项签到
就让这个签到题来开启我们的CTF misc之旅吧
下载附件发现是个压缩包 但解压需要密码
但没有找到任何提示
所以有理由怀疑是伪密码
拖到010里发现确实是伪密码
经过修改
解压得到flag
flag{79ddfa61bda03defa7bfd8d702a656e4} ( •̀ ω •́ )y
2.misc2
下载附件得到应该无后缀的file文件
根据提示
知道是个软盘
所以直接新建虚拟机并载入软盘镜像
运行直接得到flag
flag{ctfshow} ( •̀ ω •́ )y
3.Miscx
下载附件里面 未加密的misc1.zip 加密的flag.txt 加密的hint.txt
还有
附加文本:
2020快乐!
rat?or?
后俩都需要密码所以先研究misc1.zip
查看misc1压缩包 内含加密的music.doc文件跟一个png后缀的图片
将图片拖进010里发现
判断为误导信息
结合前面提示 猜想doc文件解压密码为2020
解压music.doc出来是音符编码
提供在线网站https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=yinyuehttps://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=yinyue
盲猜Base64 继续转码 结果不是
想起前面的附加文本提示 猜想是rabbit加密
密钥是2020
得到welcome_to_payhelp
想到有俩加密的txt文档
以此为密码只解压出了hint.txt
看见这种代码先base64 发现有效果 最后多次base64转码得到
这一看就是url编码
成功得到密码
hello 2020!
给flag.txt解压得到flag
flag{g00d_f0r_y0u} ( •̀ ω •́ )y
4.misc50
下载附件里面只有一张图片
废话不多说010拖一波 发现中间有一串代码
Sk5DVlM2Mk1NRjVIU1gyTk1GWEgyQ1E9Cg==
Base64再来一波
JNCVS62MMF5HSX2NMFXH2CQ=
然后base32
得到
KEY{Lazy_Man}
很明显了 肯定是哪个压缩包的解压密码或者那种隐写的密钥
所以图片foremost一下 得到一个压缩包 应证之前的猜想
打开压缩包发现有提示
GEZDGNBVGYFA====
Base32来一下得到123456
是压缩包的密码
解压得到thienc.txt 里面是一大堆数字
仔细观察这一堆数字,发现3078重复出现 后面跟两个十六进制的字符
你如果用心去找发现3078 就是0x
所以思路就来了 删除0x 转化成压缩包格式
在这里就必须用到脚本了(python不好的朋友可要好好学习哦)
import redef read_file(filepath):with open(filepath) as fp:content=fp.read();return contentnumber = read_file('1.txt')
result = []
result.append(re.findall(r'.{2}', number))
result = result[0]strings =''
for i in result:y = bytearray.fromhex(i)z = str(y)z= re.findall("b'(.*?)'",z)[0]strings += zb= strings.split('0x')strings=''
for i in b:if len(i) ==1:i= '0' + istrings +=iwith open('test.txt', 'w') as f:f.write(strings)
得到一个压缩包
但需要密码,便想到之前解出的KEY{Lazy_Man}
解压出来是一个txt文本
在文本结尾发现==
废话不多说直接上base64
因为文本太长了所以只能用脚本
Base64脚本
import base64
import re
def read_file(filepath):with open(filepath) as fp:content=fp.read();return contenturl = read_file('1.txt')
url = re.findall("b'(.*?)'",url)[0]
url = base64.b64decode(url)with open('2.txt', 'w') as f:f.write(str(url))
Base32脚本
import base64
import redef read_file(filepath):with open(filepath) as fp:content=fp.read();return contenturl = read_file('2.txt')
url = re.findall("b'(.*?)'",url)[0]
url = base64.b32decode(url)with open('3.txt', 'w') as f:f.write(str(url))
经过多次转换这串字符总共经历了16次的base64与base32混合加密
得到这种编码
但因为有\n所以不是很规范
从网上找个脚本
def read_file(filepath):with open(filepath) as fp:content=fp.read();return contentresult = read_file('test15.txt')result = result.replace(r'\n',' ')with open('test16.txt', 'w') as f:f.write(result)
提供一个在线网站
Brainfuck/Ook! Obfuscation/Encoding [splitbrain.org]https://www.splitbrain.org/services/ook
继续
得到flag
flag{Welc0me_tO_cTf_3how!} ( •̀ ω •́ )y
5.misc30
下载附件是一个无后缀的rar文件
根据提示自然要加上rar的后缀
解压之后里面是 没有加密一个星空.jpg 加密的flag.png 加密的眼见不一定为实.doc
所以先从星空.jpg下手
二话不说010走一波
little stars 盲猜是解压密码
直解开了眼见不一定为实.doc
你会发现底下是有东西的
所以先尝试改变颜色成功
Hello friend! 怀疑是另一个的解压密码
成功解压出一张二维码
扫码得到flag
flag{welcome_to_ctfshow} ( •̀ ω •́ )y
6.stega1
下载附件解压得到jpg图片一张
在尝试多种隐写分离无果时
想到了jphs隐写
工具下载https://download.csdn.net/download/m0_68012373/85682293
在软件里打开
没有密钥直接点OK
直接得到含有flag的文本
flag{3c87fb959e5910b40a04e0491bf230fb} ( •̀ ω •́ )y
7. misc3
密文:zse4rfvsdf 6yjmko0
最开始没看提示各种解密试半天
看吧提示才想到有可能是键盘布局
再根据提示得到flag
flag{av} ( •̀ ω •́ )y
8. misc40
下载附件解压 得到一个txt文件 一个mp3文件 一个png二维码 还有一个加密的wav文件
打开txt
盲猜进制转换
提供在线网站https://www.osgeo.cn/app/s1653
二进制 到 四进制 到 八进制 到 十进制
110001010100011101 到 301110131
到 612435 到 202013
202013盲猜是密码或密钥
不着急先看看别
扫码得到 flag不在这里
可能没有这么简单 所以010拖一波
果然在尾部发现了一串编码
在线网站https://www.splitbrain.org/services/ook%C2%A0
得到 和谐民主和谐文明和谐和谐和谐自由和谐平等和谐公正
社会主义核心价值观编码http://xn--http-uea//www.hiencode.com/cvencode.html
得到123456
还有一个音频 经过尝试MP3Stego隐写 秘密是刚刚的123456
工具下载地址
MP3Stego音频隐写工具-编解码文档类资源-CSDN下载MP3Stego算法主要集中于编码参数域的隐写MP3压缩原理和MP3Stego算法概述MP更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/m0_68012373/85681907
得到一个文本
提示说密码是abc123 先解压
还有提示说hint是静默之眼不知道是什么 后来百度才知道是silent eye
工具下载https://download.csdn.net/download/m0_68012373/85681939
silent eye
Key是之前解出来的202013
flag{C0ngr4tul4ti0n!} ( •̀ ω •́ )y
9.misc30
下载附件 发现压缩包需要密码
因为没有提示所以第一想到的是伪加密
先用win修复一下
成功得到里面的音频
又是各种隐写发现没用 就想到可能是藏东西所以Kali foremost一下
分理出一张图片
看见图片就试试常规操作改高度
得到
这一看典型的猪圈密码
这是对照表
最后得到
flag{well done} ( •̀ ω •́ )y
10. 红包题第一弹
下载附件解压得到86个压缩包 每个压缩包里面还有图片
这是不能慌
我们先打开一个图片放进010里分析分析
看头这可能是一个GIF的文件给分割成一块一块的
再看尾
明显的base64代码
再去看看其他图片和这一样除了代码不一样
所以思路来了 把所以代码整合到一起然后破译
当然肯定要用脚本
import zipfilefor i in range(1, 87):# 读取压缩包z = zipfile.ZipFile('D:\py\flag.zip/' + str(i) + '.zip', 'r')# 读取压缩包内的图片内容filename = z.namelist()[0]content = str(z.read(filename))# 把base64编码部分打印出来len1 = len(content)content1 = content[len1 - 101:len1 - 1]print(content1)
得到base64代码
直接用base64转图片
在线网站https://tool.jisuapi.com/base642pic.html
得到二维码
扫码得到flag
flag{gif_is_so_easy} ( •̀ ω •́ )y
11.stega10
下载附件 解压得到一张图片
老规矩010里走一波
发现了一串编码
盲猜base64
得到一个https://www.lanzous.com/i9b0ksd
根据经验把s改成i
得到下载页面
都需要密码所以只能从文本下手
所以上脚本 上网找的
import zipfile
import string
import binasciicrc = []
zip = zipfile.ZipFile('C:/ctfshow/misc/flag.zip', 'r')
for i in zip.namelist():crc += [zip.getinfo(i).CRC]
crc = crc[1:10]for i in range(9):for j in string.printable:c = binascii.crc32(j.encode('utf-8'))if c == crc[i]:print(j, end='')
运行得到
447^*5#)7 怀疑是压缩包密码
解开了n.zip的压缩包
却得到了你无法打开的图片
那就010走一下
仔细观察头和尾发现代码反了
所以找脚本
f = open('C:/Users/lujin/Desktop/n.png', 'rb').read()
res = open('C:/Users/lujin/Desktop/1n.png', 'wb')
res.write(f[::-1])
运行得到二维码一张
扫码得到flag
flag{我好难啊} ( •̀ ω •́ )y
12.stega11
下载附件得到图片
老规矩010走
发现一串编码
直接base32
没想到直接出来了
flag{6f1797d4080b29b64da5897780463e30} ( •̀ ω •́ )y
13.misc4
下载附件是一个无后缀的rar文件
不要想后缀rar加上
解压得到一个文档
虽然是乱码,但发现PK开头,zip格式压缩包 ,修改后缀后解压得到一推东西
只能一个一个找替你们排坑了
最后在办公文档\Documents\1\Pages\1.txt得到线索
最后得到flag{xps?Oh,Go0d!} ( •̀ ω •́ )y
14. misc31
下载附件得到
file , hint.txt ,听歌识曲 是没有加密的 剩下的需要加密所以从这几个入手
解密file
拖010
看尾巴像base64
因为文本太多了 想到了base64转图片
在线网站https://tool.jisuapi.com/base642pic.html
得到dlddddhm
解密pdf
得到小花
花朵符号解密
得到qwertyuiop
发现目前没什么用
所以肯定没那么简单
猜测pdf可能还有隐写
经过多次尝试
工具下载https://download.csdn.net/download/m0_68012373/85681966
wbStego4.3open 进行pdf 解密,没有秘钥
得到
只剩下xiaomotuo.wav
这两个信息提示的是关键字
所以就想到了关键字密码
在线网站http://www.hiencode.com/keyword.html
得到CVEFVWETBVDVESFB13287484
是xiaomotuo.wav的密码
各种音频隐写没用
来一波steghide分离
得到flag
flag{du_du_du_du} ( •̀ ω •́ )y
15.misc49
下载附件发现里面只有一个txt的文本打开
打开发现文件的头是PK 尝试更改后缀zip 并解压
发现只有hint.txt可以解压 1.png 2.png需要密码
打开hint.txt
有大写字母有=号尝试base32 64都没有用
提供一个在线网站https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=zimu
发现是音符编码
在线网站https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=yinyue
花朵编码 在线网站https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=huaduo
得到flag flag{y0u_are_we1l} ( •̀ ω •́ )y
16.misc6
下载附件得到文本
发现=字母所以首先尝试base32 64,但发现无果
碰码不慌千千秀字
最后得到flag flag{ctfshow_nice!} ( •̀ ω •́ )y
17.misc7
下载附件得到一个无后缀的文件
查看属性无果 拖进010里查格式发现文件头是D0 CF 11 E0 A1 B1 1A E1
查询了一下这是旧版offic的文件的格式
所以尝试添加后缀,发现pdf可以打开
但文档被加密了所以尝试使用Advanced Office Password Recovery爆破
使用密码打开后直接搜索字符得到flag
改变字体颜色
得到Flag{okYOUWIN} ( •̀ ω •́ )y
18.misc8
下载附件得到flagnothere.jpg跟org.zip 且压缩包加密 压缩包中也含有flagnothere.jpg
根据之前经验盲猜明文破解
工具下载https://download.csdn.net/download/m0_68012373/85681995
成功了
得到二维码
扫码得到flag
flag{ctf_show_ok} ( •̀ ω •́ )y
19.红包题第五弹
下载附件发现里面是一个音频
根据提示利用各种音频工具去破解 才发现自己被骗了
所以废话不多说压缩包直接进行分析
在查找之后发现有压缩包里可能有图片 所以直接kali分离
先不试别的在进行一次foremost分离发现没有用
所以换一种分离方式steghide
分离出一个txt文本
有大小写有= 先来一波base64
发现网址但打不开
根据经验吧s改成i
https://www.lanzoui.com/i9dpjxe
下载附件 发现里面是一个十六进制的文本
首先想到的是直接转进制或者转文本但都以失败告终
后来仔细观察里面的字母并没有大于f的 按正常思路,每俩个字符,转文本
经过多次尝试 十六进制转换得到坐标
提供一个在线网站https://gchq.github.io/CyberChef/#recipe=From_Hex('None')To_Binary('Space',8/breakpoint)
看这个结构,我们应该可以确定,是坐标与颜色值,
发现是(255, 255, 255)和(0, 0, 0),这不是R.G.B嘛,(255, 255, 255)代表白色,(0, 0, 0)代表黑色
所以必须用脚本把这个文本画出来
使用脚本格式化,整理成坐标,让文本规范起来
import re# 正则规则 [1-9][0-9]{1,2}匹配三位数和两位数 \s匹配空格
f1 = open('2.txt', 'w+')
reg = re.compile(r'[0-9]*,\s[0-9]*,\s[0-9]*')with open('1.txt') as f:data = f.read()f.close()result = reg.findall(data)for i in result:print(i)f1.write(i + '\n')
再使用gbk脚本解出来 用脚本把这个文本画出来
rom PIL import Imagex = 72 # x坐标 通过对txt里的行数进行整数分解
y = 74 # y坐标 x * y = 行数im = Image.new("RGB", (x, y)) # 创建图片
file = open('2.txt') # 打开rbg值的文件# 通过每个rgb点生成图片for i in range(0, x):for j in range(0, y):line = file.readline() # 获取一行的rgb值rgb = line.split(", ") # 分离rgb,文本中逗号后面有空格if (rgb[0]):im.putpixel((i, j), (int(rgb[0]), int(rgb[1]), int(rgb[2]))) # 将rgb转化为像素im.save('flag.jpg') # 也可用im.save('flag.jpg')保存下来
得到jpg图片
一看就知道需要重新拼接图片
这时候就需要用到PS了
用剪切得到完整的二维码
最后扫码得到flag
flag{ctf_show_fight} ( •̀ ω •́ )y
20.stega2
下载附件得到一张png格式的图片
最开始是我想复杂还用了分离
后来发现直接改高度就行
最后拿到flag flag{na yi nian wo ye bian cheng le guang} ( •̀ ω •́ )y
21.stega3
下载附件解压发现里面只有一张图片
所以便尝试了各种隐写 结果以失败告终
于是便想到了NTFS数据流隐写
便利用Ntfs Streams Editor2工具
工具下载https://download.csdn.net/download/m0_68012373/85682238
找到了txt文件拿到了flag
flag{ntfs_is_so_cool} ( •̀ ω •́ )y
加油各位( •̀ ω •́ )y 期待与君再相逢
CTF show misc之旅 (wp详解一部分)相关推荐
- 2021GKCTF Misc excel骚操作--详解
2021GKCTF Misc excel骚操作-详解 新人刷CTF计划 本人是小白一个ctf很多知识还不会,写wp之前会看过很多大佬写的自己才能看懂,才敢写自己的wp.希望能帮助到大家. 考察知识点 ...
- 攻防世界杂项(misc)--新手练习区(详解十二道题完结,附件做题过程中使用到的各种工具和网站)
攻防世界杂项(misc)–新手练习区(详解) 第一题:this_is_flag 题目描述:Most flags are in the form flag{xxx}, for example:flag{ ...
- android sp wp实例,android sp wp详解
研究的时候,经常会遇到sp.wp的东西,网上一搜,原来是android封装了c++中对象回收机制. 说明: 1. 如果一个类想使用智能指针,那么必须满足下面两个条件: a. 该类是虚基类RefBase ...
- Python tkinter Misc类+Wm类详解
Misc类 这个类是模块中最基本的类,所有组件甚至是Tk都继承这个类.不过,组件并不直接继承这个类,而是继承Widget类(Widget类直接继承BaseWidget类,而BaseWidget类直接继 ...
- C#多线程之旅(2)——详解线程的开始和创建
阅读目录 代码下载 一.线程的创建和开始 二.传递数据给一个线程 三.命名线程 四.前台线程和后台线程 五.线程优先级 六.异常处理 代码下载 Thread_博客园_cnblogs_jackson07 ...
- spring之旅第四篇-注解配置详解
spring之旅第四篇-注解配置详解 一.引言 最近因为找工作,导致很长时间没有更新,找工作的时候你会明白浪费的时间后面都是要还的,现在的每一点努力,将来也会给你回报的,但行好事,莫问前程!努力总不会 ...
- 少年派的计算机游戏怎么弄,少年派的无聊之旅攻略大全图文详解
少年派的无聊之旅攻略大全图文详解游戏狗小编小易为同学们整理好了,这款游戏的整体难度很简单,主要还是为了让同学们无聊的时候休闲用的,小编在这里为大家整理了这篇攻略,希望可以帮到有需要的同学.下面就让小编 ...
- BuuCTF难题详解| Misc | VN 2020 公开赛 内存取证
题目介绍 这道题目,我们要在Buu上面做需要的步骤需要调整,先下载链接内容,然后在下载附加. BuuCTF难题详解| Misc | V&N 2020 公开赛 内存取证 P1 我们使用volat ...
- buuctf-[GXYCTF2019]BabySQli WP(小宇特详解)
buuctf-[GXYCTF2019]BabySQli WP(小宇特详解) 这里先看一下源码 查看search.php 这里先base32解码,然后在base64解码得到 select * from ...
最新文章
- Glide执行流程总结
- 在程序中进行make以后出现的一些错误以及解决方法
- [architecture]-CPU(ARM)启动的第一条指令
- 【KVM系列01】KVM简介及安装
- java责任链模式做优惠_Java设计模式菜鸟系列(十八)责任链模式建模与实现
- goldengate的实施过程
- matlab中的图像类型
- effective mysql之备份与恢复_Effective MySQL之备份与恢复
- 解决比特币双重支付问题
- linux显示3个字符,Linux驱动学习笔记(3)字符设备驱动
- [读后感]Java 控制台执行 Jar 传參的编码问题
- 如何通过 Apple Watch 解锁 Mac
- 写给非网工的CCNA教程(2)第一个协议--ARP协议
- php mysql begin_PHP mysqli_begin_transaction() 函数用法及示例
- 编程实现在IntAct数据集上批量查找蛋白交互对
- 客户端单周发版下的多分支自动化管理与实践
- 东南大学计算机学院足球队,2017春季“放飞智能”杯东南大学苏州校友足球队比赛赛事系列报道(八)...
- html如何制作正方形,正方形的立方体怎么做 怎么用纸做十厘米的正方体?
- teamviewer存在linux版本_TeamViewer 9发布-在Linux下安装运行
- 慢性疲劳免疫失调综合症(CFIDS)
热门文章
- 手机充电协议BC1.2
- matlab2015 产品目录,MathWorks发布包含MATLAB和Simulink产品系列的 Release 2015b-EDA/PCB-与非网...
- 使用QPainter绘图
- 沁恒CH582M开发板-2-按键扫描(按键控制LED亮灭)
- 开工啦!携程租车订单团队敏捷新征程!
- 分类与预测算法评价标准
- join的常用用法(JOIN的用法)
- 51单片机|keilc51|实例|定时器中断|简易的交通灯设计
- CAD梦想画图中的“重画、绘图模式”
- 【热门主题:英雄联盟壁纸大全】