MOCTF_misc部分

我是小萌新在成长,希望遇到更多大佬

平台:
http://www.moctf.com/challenges
由于我自己是个萌新,所以一方面写下来记住,一方面写给更加萌新的萌新,哈哈哈
这里少两题:百变flag、奇怪的01
参考一个博主的:
https://blog.csdn.net/weixin_34050389/article/details/88208331

我可是黑客

在这里插入图片描述
图片另存为本地,用WInhex打开,拖到最下面:
在这里插入图片描述
moctf{e4sy_1ma9e_m1sc}

假装安全

在这里插入图片描述Winhex一下发现最后面有个flag.txt
在这里插入图片描述
其实感觉像这样的图片题上来没什么思路一般属性一下或者用Winhex看一看总会发现一点东西,无非隐写那些事
没什么说的,binwalk一下,foremost一下:
在这里插入图片描述
里面有个Zip压缩包,将里面的东西提取出来,发现flag
在这里插入图片描述
在这里我发现一件事,不知道是不是bug,有些Zip压缩包在Windows下打不开提示要密码,但是把文件放到kali下提,出来是没问题的,也可能是我的错觉?正规思路应该是用Winhex将伪加密的09改为00,另存为解压得到flag。
在这里插入图片描述
根据开头格式moctf猜测是栅栏密码,栅栏密码解密得到
在这里插入图片描述

扫扫出奇迹

在这里插入图片描述
可以看到二维码的黑白反过来了,这里将黑白翻转的方法很多:
1、PS中在上方菜单栏,点击“图像”进入调整选择反向即可,或者快捷键“Ctrl+i”
由于本人没有PS并且很懒,所以没图
2、用Stegsolve打开,向后翻一下就会发现黑白反过来了
在这里插入图片描述
扫描图中二维码,可以得到flag:
moctf{qr_code_1s_1n_1t}
当然这里方法也很多
可以用手机扫,也可以用网上的屏幕二维码识别工具:
在这里插入图片描述

光阴似箭

在这里插入图片描述
这是一个跳得非常快的GIF,但是很尴尬运气好的时候直接截图截到了。。。
(我不会告诉你其实这也是一个sao套路的。。。)
正解:
图片另存为,网上搜“在线GIF分解”,上传图片,分解:
在这里插入图片描述或者用Stegsolve工具打开GIF,往后翻就可以了:
在这里插入图片描述
最后将字符反过来的一下就可以了

杰斯的魔法

直接运行一下代码就出来了:
在这里插入图片描述在这里插入图片描述

流量分析

把包下下来,用wireshark打开:
用tcp筛选然后追踪流后没有发现flag:
在这里插入图片描述
将0改为1后发现flag:
在这里插入图片描述至于为什么。。。作为萌新的我表示我也不知道啊,上网搜了一下资料,说是后面的数字代表的是一个个端口(eq是equal的缩写,意思是等于),但是这个题目当中好像只有0和1能筛选出数据,可能只用了俩端口??求大神指点

女神的告白

爆破题,根据题目提示密码的前6位是meimei
用工具Advanced Archive Password Recovery进行爆破:
由于不知道后面有多少位,只能一次一次试,试到四位的时候出来了:
在这里插入图片描述得到flag
moctf{Y0u_@re_A_g00d_man}

捉迷藏

哇,直接出flag了,好简单:
在这里插入图片描述
校验后发现事情并没有这么简单,答案不对。。。
看到另一个图片,又是隐写了,binwalk、foremost二连就好
事实上,如果猜到了有隐写,可以直接后缀名改为zip试一下,得到flag.txt文件:
在这里插入图片描述
发现一串数字:
109 111 99 116 102 123 104 49 100 51 95 97 78 100 95 115 51 51 75 125
看数字相对集中,ASCII试一下,果然出结果(注意这里的数字是十进制的ASCII码):
在这里插入图片描述
很多网站只能转换一个字符。。。脑瓜疼,找半天找到一个可以一串字符一起撸的,嘎嘎:
http://www.ab126.com/goju/1711.html#ecms

是兄弟就来干我

解压得到一个图片和一个压缩包,图片估计是隐写,得到压缩包的密码
emmmm。。。感觉套路都差不多,上Winhex、binwalk、foremost三连看看
好吧,事实上并不好使。。。。看来要变成四连了:用stegsolve中LSB隐写分析一下
在这里插入图片描述保存文件保存为bin。。。
在这里插入图片描述

png的头文件八个字节为
89 50 4E 47 0D 0A 1A 0A
将多余的删掉,另存为得到一张图片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输入密码zhazhahui得到flag.txt的内容:
f_hfv7m_y8{kThk43a_xrk0?n}
应该有栅栏,但是格式好像不对,先凯撒一下吧(只对数字字母凯撒,符号不运算 )
因为第一个字母是moctf的m,f到m位移了7,凯撒脚本要自己收集,我在这提供两个Python3.7 64bit的(小萌新表示当然是网上荡的啦,感谢:https://blog.csdn.net/u013378642/article/details/80874581)

def encryption(str, n):
    cipher = []
    for i in range(len(str)):
        if str[i].islower():
            if ord(str[i]) < 123-n:
                c = chr(ord(str[i]) + n)
                cipher.append(c)
            else:
                c = chr(ord(str[i]) + n - 26)
                cipher.append(c)
        elif str[i].isupper():
            if ord(str[i]) < 91-n:
                c = chr(ord(str[i]) + n)
                cipher.append(c)
            else:
                c = chr(ord(str[i]) + n - 26)
                cipher.append(c)
        else:
            c = str[i]
            cipher.append(c)
    cipherstr = ('').join(cipher)
    return cipherstr

#获得用户输入的明文
#此代码只对字母进行转换
print("请输入字符串:")
plaintext = input()
#下面这句中的数字要自己改完再运行,位移多少位就写多少,可以为负数(负数相当于解密)
ciphertext = encryption(plaintext, 7)
print(ciphertext)

在这里再提供一个所有字母数字符号的(小萌新表示还是荡的,但是已经不记得作者了。。。):

#import os
#-*-coding:utf-8-*-
#============================================================================
#   凯撒密码(caesar)是最早的代换密码,对称密码的一种,本代码是字母数字符号统统转          
#   算法:将每个字母用字母表中它之后的第k个字母(称作位移值)替代     
#============================================================================
def encryption():
    str_raw = input("请输入明文:")
    k = int(input("请输入位移值:"))
    #输入的时候位移值其实也可以为负数,但是为了理解方便不用负数,将负数变成解密选项
    str_change = str_raw.lower()
    str_list = list(str_change)
    str_list_encry = str_list
    i = 0
    while i < len(str_list):
        if ord(str_list[i]) < 123-k:
            str_list_encry[i] = chr(ord(str_list[i]) + k)
        else:
            str_list_encry[i] = chr(ord(str_list[i]) + k - 26)
        i = i+1
    print ("加密结果为:"+"".join(str_list_encry))
def decryption():
    str_raw = input("请输入密文:")
    k = int(input("请输入位移值:"))
    str_change = str_raw.lower()
    str_list = list(str_change)
    str_list_decry = str_list
    i = 0
    while i < len(str_list):
        if ord(str_list[i]) >= 97+k:
            str_list_decry[i] = chr(ord(str_list[i]) - k)
        else:
            str_list_decry[i] = chr(ord(str_list[i]) + 26 - k)
        i = i+1
    print ("解密结果为:"+"".join(str_list_decry))
while True:
    print (u"1. 加密")
    print (u"2. 解密")
    choice = input("请选择:")
    if choice == "1":
        encryption()
    elif choice == "2":
        decryption()
    else:
        print (u"您的输入有误!")

解密后得到
m_omc7t_f8{rAor43h_eyr0?u}
看着格式就不对,栅栏一下得到:
在这里插入图片描述
哇,终于出来了,好感动。。。

百变flag

官方题没有了,好像崩溃了?后期补

蒙娜丽萨的微笑

发现要密码,但是没有任何关于密码的提示,试一下伪加密,Winhex修改一下:
在这里插入图片描述
另存为,打开得到图片
在这里插入图片描述
又是图片隐写,四连变身五连:修改高度
事实上无脑binwalk和foremost可以得到一个压缩包
在这里插入图片描述
但是不知道密码,所以还是要一步步来,修改高度
在这里插入图片描述
所以高度宽度的格式为(先宽再高)
00 00 01 f4 00 00 01 74
WInhex中查找(查找的时候记得把空格去掉)并修改高度(把0174变大比如0274)
在这里插入图片描述在这里插入图片描述
得到c2ltbGVpc2ludGVyaW5n
base64解码得到simleisintering(微笑被埋葬,估计是密码了)
在这里插入图片描述
得到:moctf{Int3resting_piXe1}

李华的双十一

要密码,伪加密,WInhex修改,要修改两处
在这里插入图片描述
但是发现一个好玩的:
在这里插入图片描述
得到一个money.zip的压缩包和一个singledog.mp3
用ARCHPR暴力破解得到密码00015398
这题说实话我没跑出来,位数还好说多试试就好,但为什么是纯数字?money.zip?
在这里插入图片描述
得到
在这里插入图片描述
额,好吧,WInhex:
在这里插入图片描述
在线解码得到BOY1111,那么估计就是mp3的密码了
ctf在线工具连接:http://ctf.ssleye.com/
得到
在这里插入图片描述
在这里插入图片描述
base64一下得到moctf{#S1ngl3_D0g#}

李华的疑惑

解压,得到password.txt和flag.zip,压缩包要密码,那应该就隐藏在txt中了,sublime看一下:
在这里插入图片描述
22500行的255,RGB(red、green、blue三原色,255表示亮度,请自行搜一下RGB)中255,255,255表示白色当然还有其他颜色比如(我也不知道是什么颜色哈哈哈):
在这里插入图片描述
具体是什么跑一跑就知道了,参考:https://www.cnblogs.com/webFuckeeeer/p/4536776.html
猜测行数可能是150×150、225×100等,反正不会太离谱

#-*- coding:utf-8 -*-
from PIL import Image
#这里可能需要通过pip install PIL命令安装Python的PIL库,强烈建议直接kali:自带库,而且安装库也方便
import re

x = 150 #x坐标  通过对txt里的行数进行整数分解
y = 150 #y坐标  x*y = 行数
#猜测的行数要改好,不要漏了

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

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

若pip install PIL命令不好用的话,推荐一篇参考
Python安装PIL库的参考:https://www.cnblogs.com/sharon123/p/6873865.html
在这里插入图片描述
在这里插入图片描述说了这么多,跑一下我们的Python吧,小萌新表示好感动,终于得到密码了:PPPPPPass_word
在这里插入图片描述
解压得到
在这里插入图片描述
得到:U2FsdGVkX18R9EylBVacP/j0XpCISh9nZth6TFwoh5GUv0edeVp3ZV9gXVqd/rlH66OIZgSHn2Mock4hcdqFEg==
不像base64,是AES。。。小萌新很崩溃AES是什么怎么解
算了在线解码:http://tool.oschina.net/encrypt/
在这里插入图片描述
解密得到moctf{D0_You_1ik3_tO_pAinH_wi4h_pi8e1}

奇怪的01

现在的力量不足,等升级了再来补上

猜你喜欢

转载自blog.csdn.net/weixin_44713659/article/details/88991964