MOCTF_MISC_WRITEUP

0x01 我可是黑客

下载图片使用winhex打开在末尾发现flag。

flag1

0x02 假装安全

下载图片后binwalk跑一下发现图片里面隐写了一个ZIP压缩包,其中有个flag.txt的文件,更改后得到压缩包。

image.png

解压发现有密码。

MOCTF_MISC_WRITEUP_第1张图片
压缩包密码

使用winhex打开压缩文件

MOCTF_MISC_WRITEUP_第2张图片
winhex打开

一格zip文件有三个部分组成:
[压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志]
这里主要看第二部分压缩源文件目录区

组成 长度
目录中文件头标记 4bytes 0x02014b50
压缩使用的 pkware 版本 2 bytes 0x003F
解压文件所需 pkware 版本 2 bytes 0x0014
全局方式位标记 2 bytes 0x0809
压缩方式 2 bytes 0x0008

这里将全局方式位09改位00就没有密码了。

修改

直接解压得到flag字符串,标准的栅栏密码,修改下得到flag。

MOCTF_MISC_WRITEUP_第3张图片
栅栏密码

0x03 扫扫出奇迹

打开图片发现扫不了,是一个取反色的二维码,无法识别。
用stegsolve的XOR可以取反色。得到二维码。

MOCTF_MISC_WRITEUP_第4张图片
xor

扫描后得到flag。moctf{qr_code_1s_1n_1t}

0x04 光阴似箭

是个gif图字不断变化其中有flag。
使用stegsolve打开后用frame browser得到flag

MOCTF_MISC_WRITEUP_第5张图片
flag

记得镜像显示的记得倒过来写moctf{Flash_Movie}。

0x05 杰斯的魔法

看下知道是JS脚本直接在控制台运行就行了,当然转化下url编码也就直接有答案了。


MOCTF_MISC_WRITEUP_第6张图片
控制台运行

0x06 流量分析

用fidder打开发现是用wireshark保存的流量包。使用wireshark打开流量包。利用分析中的追踪流量进行分析发现flag

MOCTF_MISC_WRITEUP_第7张图片
追踪到的第一个流量包
MOCTF_MISC_WRITEUP_第8张图片
追踪到的第二个流量包

0x07 女神的告白

从题目得知压缩密码是以名字meimei开头的,这里我们可以使用ARCHPR进行掩码攻击,从第一位才是逐位增加。在测试到第四位的时候得到密码。

MOCTF_MISC_WRITEUP_第9张图片
掩码攻击

解压后得到flag。

flag

0x08 捉迷藏

解压文件后在flag.txt得到一个字符串。经过base64解码得到一个flag。

bW9jdGZ7QnVfeUEwX3QxX2oxYTB9
#base64解密后得到
moctf{Bu_yA0_t1_j1a0}

提交后发现不是正确的flag,将解压出来的另外一个2.jpg进行binwalk跑一下,发现里面包含一个zip压缩文件,解压后从flag.txt中得到一串数字

109 111 99 116 102 123 104 49 100 51 95 97 78 100 95 115 51 51 75 125

将10进制转化成ascii后得到flag

MOCTF_MISC_WRITEUP_第10张图片
flag

0x09 是兄弟就来干我

下载压缩文件,解压后得到图片和另一个压缩文件。
图片为png文件,在使用stegsolve中LSB隐写分析,选择BGR时候发现隐藏图片。

MOCTF_MISC_WRITEUP_第11张图片
隐藏图片

将文件使用二进制保存,因为png的头文件为八个字节
89 50 4E 47 0D 0A 1A 0A
所以使用winhex打开并将000000000000236f删除保存为新的图片后打开得到:

MOCTF_MISC_WRITEUP_第12张图片
新图片

根据图片提示在猜测名字为zhazhahui的时候解开flag.zip得到flag.txt

MOCTF_MISC_WRITEUP_第13张图片
flag.txt

在这段flag中没有出现moctf属于加密了。使用凯撒密码,这里偷了个懒,因为flag的形式是为moctf{XXX}的形式所以第一个字母应该为m,从f到m共移动了7位,我这里写代码就是以7位移动来写的。

lowercase = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
uppercase = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
c_txt = "f_hfv7m_y8{kThk43a_xrk0?n}"
p_txt = []
for i in range(len(c_txt)):#调出密文每一个字符
    x = (ord(c_txt[i]))
    if x>96 and x<123:#判断小写
        y = x+7
        if y>122:#如果比z大从a开始循环
            z = lowercase[y-123]
            p_txt.append(z)
        else:
            p_txt.append(chr(y))
    elif x>64 and x<91:#判断大写
        y = x+7
        if y>90:#如果比Z大从A开始循环
            z = uppercase[y-91]
            p_txt.append(z)
        else:
            p_txt.append(chr(y))#不是字母不做移动
    else:
        p_txt.append(chr(x))
print("".join(p_txt))
运行结果

从运行结果可以看到是个栅栏密码,解密后得到flag。


结果

0x10 百变flag

binwalk一下得到一个压缩包,解压压缩包看到一个f1ag.exe,winhex打开发现十六进制反了。
使用脚本修复

f = open("f1ag.exe",'rb')
f_w = open("f1ag.jpg",'wb')
f_r = f.read()[::-1]
f_w.write(f_r)

得到flag moctf{1mage_is_funny}

得到一张图片,打开图片即可得到flag

0x11 蒙娜丽萨的微笑

加密文件查看Hex发现是16进制。修改09为00修改得到图片。

MOCTF_MISC_WRITEUP_第14张图片
伪加密

看到蒙娜丽莎是个秃头可能高度不正确,用winhex打开继续修改高度。

高度修改

得到一串字符串

MOCTF_MISC_WRITEUP_第15张图片
得到字符串

使用base64解密得到明文字符串smileisintering。

明文

翻译过来说微笑被埋葬,使用winhex进行查找flag,发现存有504B0304zip压缩包头标识,504B压缩包结束标识

MOCTF_MISC_WRITEUP_第16张图片
查找flag

将以504B0304开头部分保存为新文件得到一个新压缩包。发现压缩包中有个flag的文件,打开提示需要输入密码,密码就是之前我们得到的smileisintering,输入后使用记事本打开得到flag。

MOCTF_MISC_WRITEUP_第17张图片
flag

0x12 李华的双十一

程序员李华双十一帮女朋友清了购物车,但是场面太过惨烈以至于他都不愿意回忆起那个数字,你能帮他回忆一下吗?
用winhex打开发现又是伪加密,改下09为00,注意有两个文件所有存在2个伪加密哟。

伪加密

解压得到一个money.zip的压缩包和一个singledog.mp3,将money.zip拖进ARCHPR中暴力破解得到密码00015398。

MOCTF_MISC_WRITEUP_第18张图片
暴力破解

使用密码解压后得到一个嘲讽。

MOCTF_MISC_WRITEUP_第19张图片
嘲讽

使用winhex打开password.txt发现莫尔斯电码。

摩尔斯电码

对应电码表得到密码BOY1111,使用MP3Stego对singledog.mp3进行解密得到singledog.mp3.txt。

MOCTF_MISC_WRITEUP_第20张图片
singledog.mp3.txt

打开后得到base64密文字符串

base64

解密得到flag

flag

0x13 李华的疑惑

下载得到压缩包,解压后得到password.txt文档打开后发现好多255。

MOCTF_MISC_WRITEUP_第21张图片
子网掩码有仇

使用Visual Studio Code打开,看个人喜好,发现总共有22500行255

MOCTF_MISC_WRITEUP_第22张图片
22500

每一行都是RGB值,这个是RGB转换成图片,共有22500行。通过对整数的分解可以得到22500=150x150=100x225=225x100

from PIL import Image
x = 150 #x坐标  
y = 150 #y坐标  

im = Image.new("RGB",(x,y))#创建图片
f = open('password.txt') #打开rbg值文件

#通过一个个rgb点生成图片
for i in range(0,x):
  for j in range(0,y):
    line = f.readline()#获取一行
    rgb = line.split(",")#分离rgb
    im.putpixel((i,j),(int(rgb[0]),int(rgb[1]),int(rgb[2])))#rgb转化为像素
im.show()

运行后得到key值

MOCTF_MISC_WRITEUP_第23张图片
key

解压输入对应密码得到base64加密字符串

字符串

使用AES(ECB 256)解密后得到flag
moctf{D0_You_1ik3_tO_pAinH_wi4h_pi8e1}

你可能感兴趣的:(MOCTF_MISC_WRITEUP)