Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >MRCTF部分wp

MRCTF部分wp

作者头像
回天
发布于 2023-04-25 06:14:20
发布于 2023-04-25 06:14:20
34400
代码可运行
举报
文章被收录于专栏:Ga1@xy's W0r1dGa1@xy's W0r1d
运行总次数:0
代码可运行

第一次出题,可能水平不是很高,如果给师傅带来了不是很好的做题体验,还请师傅多多包涵~

ezmisc

附件链接:https://pan.baidu.com/s/17F-ghwo1sCSqWa7SkwdUcQ 提取码:mcp7

下载附件得到一张png图片,在windows下能打开看到,拖进kali中会显示CRC error,由此可以推断图片的宽度/高度有问题,又因为图片宽度有问题时在windows下无法正常打开图片,所以本题为图片高度有问题,修改图片高度即可看到flag:MRCTF{1ts_vEryyyyyy_ez!}

附上有关CRC错误的隐写分析网址:https://www.bbsmax.com/A/gVdnlMVXJW/

ctfwiki中也有很详细的介绍:https://ctf-wiki.github.io/ctf-wiki/misc/picture/png-zh/

你能看懂音符吗

附件链接:https://pan.baidu.com/s/1msVDEskKDmkTtyfzv7t5VQ 提取码:8ac0

下载附件,解压时报错,放进winhex查看,发现rar文件头错误,将6152修改为5261后再解压,即可得到一个word文档,打开后发现内容被隐藏,搜索word隐写可知其隐写方式,将被隐藏的内容显示出来,得到一串音符,在线网址解密音符即可得到flag

word隐写方式(供参考):https://blog.csdn.net/q_l_s/article/details/53813971

解密网址:https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=yinyue

flag:MRCTF{thEse_n0tes_ArE_am@zing~}

古典密码知多少

附件链接:https://pan.baidu.com/s/1ulYiCu30X6uKJZ3uoRQs5Q 提取码:xy6t

猪圈密码,圣堂武士密码,标准银河字母,且已提示都为大写字母

解密可得 FGCPFLIRTUASYON , 图片里也提示fence ,故尝试栅栏密码

每组字数为3时即可解得flag:MRCTF{CRYPTOFUN}

Hello,misc_world!

附件链接:https://pan.baidu.com/s/1kNc2oD5AkfJuzuCPL_qY5w 提取码:m4ly

下载附件得到一张红蓝图和一个加密的rar包,binwalk分离图片可以得到一个加密的zip包

  • 第一种解法(其实是俺的预期解,但是师傅们给了更简单的解法,可见解法二)

根据图片所给名称,可以判断图中隐藏了信息,由于图片中只有红色和蓝色,故可以想到将图片中的红色和蓝色像素块转换成 0 & 1 序列并重新构建,以此可以还原得到一张图片:

生成脚本: from PIL import Image import bitstring with open('1.png','rb') as f: bitcon = bitstring.Bits(f) im = Image.new('RGB',(1024,780),(255,0,0)) pim = im.load() for i,val in enumerate(bitcon.bin): if val == '0': pimi%1024,i/1024 = (0,0,255) im.save('red_blue.png') 解题脚本: from PIL import Image import bitstring im = Image.open('try to restore it.png') width = im.size0 height = im.size1 pim = im.load() # 读取图片的像素信息 bin_result = '' for h in range(height): for w in range(width): if pimw,h == 255: # 判断是否是红色(R,G,B)0表示第一通道 bin_result += '1' else: bin_result += '0' # print bitstring.BitArray(bin=bin_result).bytes.encode('hex') with open('result.png','wb') as f: f.write(bitstring.BitArray(bin=bin_result).bytes) 注:由于刚开始无法确定长宽的内外循环关系及红蓝对应关系,故可以进行多次尝试

还原得到图片,看图获得解压zip包的密码:

  • 第二种解法

stegsolve查看图片,Save Bin可直接得到图片:

解开压缩包后得到一个文档,文档中信息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
127
255
63
191
127
191
63
127
127
255
63
191
63
191
255
127
...

观察可知文档中只含有 127 255 63 191 这四个数字,将这四个数字转化为二进制,可以看到这四个数字的二进制形式中 只有最高两位的二进制数不同 ,将其最高两位提取出来组合在一起转化为ASCII,可以得到rar密码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fp = open('out.txt','r')
a = fp.readlines()
p = []
for i in a:
 p.append(int(i))

s = ''
for i in p:
 if i == 63:
     a = '00'
 elif i == 127:
     a = '01'
 elif i == 191:
     a = '10'
 elif i == 255:
     a = '11'
 s += a

import binascii

result = ''
for i in range(0,len(s),8):
 result += chr(int(s[i:i+8],2))

print result

得到rar包的解压密码:0ac1fe6b77be5dbe

解压可以得到一个zip包,看zip包里的内容可以知道这是一个 docx 文件,改后缀为docx得到最终的文件

将文件内容全选改为深色,可以看到在文档的最下方藏有几串字符

ps:如果用word打开的话可以看到有最后的换行符存在,可以判断文档中隐藏了内容

将每一长串的字符用base64解码,可以得到6行只由 0 & 1 组成的字符串

在文档左侧(word和WPS都可)查找字符就可以观察到flag,包裹上 MRCTF{} 就是最终的flag

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
flag: MRCTF{He1Lo_mi5c~}

千层套路

附件链接:https://pan.baidu.com/s/1DioikoHUoQueYL-LNA5sgw 提取码:8qjx

主要考察python脚本编写能力

虽然是千层套娃但是为了不那么毒瘤其实只有两层

第一层,自动化解压zip

试几次就知道zip的解压密码都是对应名字,可以写脚本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#coding=utf-8
import os
import zipfile


orginal_zip = "0573.zip"

while True:
    tag = orginal_zip
    orginal_zip = zipfile.ZipFile(orginal_zip)
    for contents in orginal_zip.namelist():
        password = contents[0:contents.find('.')]
    print password
    orginal_zip.setpassword(tag[:-4])
    try:
        orginal_zip.extractall()
    except:
        break
    if(len(tag)>6):
        os.system("rm "+tag)
    orginal_zip=password+".zip"

再附上bash的脚本(跑起来会比python的更快些):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/usr/bin/env bash

while [ -e *.zip ]; do
  files=*.zip;
  for file in $files; do
    echo -n "Cracking ${file}… ";
    password=${file%%.*}
    if [ -z "${password}" ]; then
      echo "Failed to find password";
      break 2;
    fi;
    echo "Found password: \`${password}\`";
    unzip -q -P "${password}" "$file";
    rm "${file}";
  done;
done;

然后第二层就是qr.txt

里面一堆

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(255, 255, 255)
(255, 255, 255)
(255, 255, 255)
(255, 255, 255)
(255, 255, 255)
(255, 255, 255)
(255, 255, 255)
...

显然是像素点

用PIL库搞下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#coding=utf-8
from PIL import Image

x = 200    #x坐标  通过对txt里的行数进行整数分
y = 200    #y坐标  x * y = 行数

im = Image.new("RGB", (x, y))
file = open('qr.txt')

for i in range(0, x):
    for j in range(0, y):
        line = file.readline()  #获取一行的rgb值
        line = line[:-2]
        line = line[1:]
        print line
        rgb = line.split(", ")  #分离rgb,文本中逗号后面有空格
        im.putpixel((i, j), (int(rgb[0]), int(rgb[1]), int(rgb[2])))

im.save('flag.png')

拿到二维码,扫一下拿到flag

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
flag:MRCTF{ta01uyout1nreet1n0usandtimes}

不眠之夜

附件链接:https://pan.baidu.com/s/1tYb7iBwjcHxwI1FvzWQpKw 提取码:b1ok

拼图题,可以手动拼图,一共120块不算特别多,手动拼的话建议用ppt,可以自动对齐比较方便

第二种方法可以用gaps,在此我详细介绍一下用gaps的解法

注:有关**montage**命令和gaps用法详细可见kali命令篇misc工具这两篇博客

首先得到120张图,用gaps的话需要先将这120张图拼到一起形成一个大图,这里我用montage命令实现:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
montage *jpg -tile 10x12 -geometry 200x100+0+0 out.jpg

在得到一张大图之后,就可以用gaps来进行还原:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
gaps --image=out.jpg --generations=40 --population=120 --size=100

得到flag:MRCTF{Why_4re_U_5o_ShuL1an??}

A Signal From ISS

附件链接:https://pan.baidu.com/s/1OUKjJqpjUfKPQOoer6I_kQ 提取码:whiw

题目描述:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
You received some radio voice. Warn: DO NOT PLAY IT LOUD

一道无线电题,下载附件得到wav的音频文件,题目描述已经提示千万不要放太大声,听起来是真的要命……

用手机软件就可以解:https://play.google.com/store/apps/details?id=xdsopl.robot36

打开软件播放音频,音频结束即可得到flag:merak{r3ce1ved_4n_img}

CyberPunk

附件链接:https://pan.baidu.com/s/1Y9opNmWqvAJzcio1U40zdg 提取码:bdpp

签到题,改下电脑的时间就可以得到flag(据出题人所说)

flag:MRCTF{We1cOm3_70_cyber_security}

Unravel!!

附件链接:https://pan.baidu.com/s/1Gv91lJ91Fb80Z0SkQl7t7g 提取码:io49

先对附件中的图片binwalk,得到名为aes.png的图片,内容为Tokyo

根据音频文件名称所给的提示信息,用winhex查看文件,可以在最后发现字符串

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
U2FsdGVkX1/nSQN+hoHL8OwV9iJB/mSdKk5dmusulz4=

将字符串用aes解密可得压缩包的密码:CCGandGulu

解压得到第二个音频,直接用silenteye解密即可得到flag:MRCTF{Th1s_is_the_3nd1n9}

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-03-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
攻防世界_misc部分wp
下载后解压得到一张图片,扔进binwalk后得到两张看起来一样的图片和一个hint.txt,打开txt文件看到
回天
2023/04/25
1K0
攻防世界_misc部分wp
Ha1cyon_CTF部分wp
打开文档得到一长串字符串,如果用ctrl+a全选文件内容的话,就可以发现在下面还隐藏着一些东西
回天
2023/04/25
4170
Ha1cyon_CTF部分wp
WUST-CTF2020部分wp
下载附件得到一个txt文件,看起来是空白的,全选后可以发现其中有长短不一的内容,而且只有两种长度
回天
2023/04/25
4470
WUST-CTF2020部分wp
buuctf_misc部分wp(8.25更)
看到 n e 可以判断为rsa,脚本解密: import gmpy2 p=gmpy2.mpz(3) q=gmpy2.mpz(11) e=gmpy2.mpz(3) l=(p-1)*(q-1) d=gmpy2.invert(e,l) c=gmpy2.mpz(26) n=p*q ans=pow(c,d,n) print ans 得到结果:5 然而 真实的压缩包 密码是:答案是5 解压后得到一个图片和一个文件,将图片用winhex打开可以看到是png文件,修改图片高度可得到:
回天
2023/04/25
1.1K0
buuctf_misc部分wp(8.25更)
De1CTF Misc wp
De1CTF这次队里师傅都很出力很牛逼,最后成绩也很不错,俺被直接带飞,这里对MISC做一个汇总wp,部分wp来自于队友。
L1near
2022/11/11
9470
De1CTF Misc wp
De1CTF_Misc部分wp
下载附件得到一个流量包,导出http对象→按照大小顺序排序,可以在最下面发现七个php文件
回天
2023/04/25
4240
De1CTF_Misc部分wp
Misc工具(22.7.6更)
kali中安装: git clone https://github.com/matthewgao/F5-steganography
回天
2023/04/25
3.2K0
Misc工具(22.7.6更)
西湖论剑2020 MISC WriteUp
咕咕咕好久的博客更新啦~这里来更新一下之前就写好但是一直没放的西湖论剑2020 MISC WriteUp
L1near
2022/11/11
5810
西湖论剑2020 MISC WriteUp
ACTF2020部分wp
再看绕过md5,由于是===,所以无法用0e开头的字符串绕过,但是可以用数组绕过,参考文章
回天
2023/04/25
3530
ACTF2020部分wp
DozerCTF部分wp
base64 → base32 → decode('hex') → base58,得到flag
回天
2023/04/25
4170
DozerCTF部分wp
【愚公系列】2021年11月 攻防世界-进阶题-MISC-030(red_green)
文章目录 一、red_green 二、答题步骤 1.zsteg 总结 ---- 一、red_green 文件:攻防世界下载对应文件 二、答题步骤 1.zsteg 下载得到一张图片 解法一:pytho脚本 #生成脚本 from PIL import Image import os import bitstring #image_name = 'flag.jpg' image_name = input("请输入当前文件夹下图片的名称>>>\n") current_path = os.path.dirnam
愚公搬代码
2021/12/03
4850
【愚公系列】2021年11月 攻防世界-进阶题-MISC-030(red_green)
[DASCTF 2020圣诞赛]Misc部分wp
题目下载下来是一个png图片,里面全是二维码,二维码内容大概就是马老师经典语句全文。
山深有杏
2024/01/30
1690
[DASCTF 2020圣诞赛]Misc部分wp
安恒杯DASCTF——四月春季赛部分wp
可以看到v6的起始是A0h,v5起始是30h,那么两个相减为70h,转为10进制刚好为112
L1near
2022/11/11
7480
安恒杯DASCTF——四月春季赛部分wp
第四届红帽杯网络安全大赛
data2三个一组转RGB,然后data1里的数字就是对应的RGB的位置,然后根据data1的字符数量分解质因数得到宽高,最后画图去npiet解
MssnHarvey
2022/08/10
5090
第四届红帽杯网络安全大赛
DASCTF_六月赛MISC部分wp
因为DASCTF_六月赛的时候,在准备期末考试,所以就没有打,今天时间比较空闲,来复现一波MISC部分题目
L1near
2022/11/11
6370
DASCTF_六月赛MISC部分wp
网鼎杯 第四场 部分WriteUp
http://2e8c0fad02d147a6b3f23624556a2fe49a4b7d2b64484f3c.game.ichunqiu.com//.git/
ChaMd5安全团队
2018/09/29
8790
网鼎杯 第四场 部分WriteUp
HGAME 2021 WEEK1
接着又是一层加密:伪加密,09->00,成功解压,将flag.txt放入010得到
MssnHarvey
2022/08/10
5560
HGAME 2021 WEEK1
强网杯-upload
链接:https://pan.baidu.com/s/1fII57jynRV3mINt44uD0Vg
Elapse
2020/08/28
6710
强网杯-upload
mysql-5.7.29-winx64.zip windows安装教程
此版本没有my.ini文件,需要自行增加,此处可以去我的百度网盘地址查找下载,下载后放在D:\softwar\mysql-5.7.29-winx64 下,
跟着飞哥学编程
2022/11/30
7230
mysql-5.7.29-winx64.zip windows安装教程
强网杯部分题目WriteUp
首先下载附件,得到一个流量包,粗略的查看一下,发现有很多TLS协议,那么可知是https流量,需要一个ssl.log,但是题目没有直接给出来,那么应该需要我们查看流量包自己找寻。然后查看了一波HTTP流,发现这样一个数据包,且返回的状态码为304(即服务端已经执行了GET,但文件未变化):
L1near
2022/11/11
7330
强网杯部分题目WriteUp
相关推荐
攻防世界_misc部分wp
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验