BUUCTF-Misc-No.3

文章目录

  • 比赛信息
  • 内心os(蛮重要的)
    • 文件中的秘密 | SOLVED |
    • 镜子里面的世界 | SOLVED |
    • [SWPU2019]我有一只马里奥 | SOLVED |
    • 谁赢了比赛? | SOLVED |
    • [BJDCTF2020]鸡你太美 | SOLVED |
    • [ACTF新生赛2020]outguess | SOLVED |
    • [SUCTF2018]single dog | SOLVED |
    • [HBNIS2018]excel破解 | SOLVED |
    • 派大星的烦恼 | SOLVED |
    • 从娃娃抓起 | SOLVED |
    • [DDCTF2018](╯°□°)╯︵ ┻━┻ | SOLVED |
    • 数据包中的线索 | SOLVED |
    • webshell后门 | SOLVED |
    • 菜刀666 | SOLVED |
    • Mysterious | SOLVED |
    • 穿越时空的思念 | SOLVED |
    • 喵喵喵 | SOLVED |
    • 完本期结束了大家晚安,

比赛信息

比赛地址:Buuctf靶场

内心os(蛮重要的)

我只想出手把手教程,希望大家能学会然后自己也成为ctf大佬,再来带带我QWQ

文件中的秘密 | SOLVED |

打开文件,winhex照妖镜照一下就发现了
BUUCTF-Misc-No.3_第1张图片

flag{870c5a72806115cb5439345d8b014396}

镜子里面的世界 | SOLVED |

Stegsolve用专业工具一看就出来了flag
BUUCTF-Misc-No.3_第2张图片

flag{st3g0_saurus_wr3cks}

[SWPU2019]我有一只马里奥 | SOLVED |

点击程序他给我一个txtBUUCTF-Misc-No.3_第3张图片

notepad 1.txt:flag.txt

使用一下快捷程序BUUCTF-Misc-No.3_第4张图片

swupctf{ddg_is_cute}

谁赢了比赛? | SOLVED |

给了图片BUUCTF-Misc-No.3_第5张图片binw分一下,有rar,gif 加密了破解一下BUUCTF-Misc-No.3_第6张图片Stegsolve查看gifBUUCTF-Misc-No.3_第7张图片一帧一帧看找到了BUUCTF-Misc-No.3_第8张图片通道中看到了二维码

flag{shanxiajingwu_won_the_game}

[BJDCTF2020]鸡你太美 | SOLVED |

2张gif图片,一张打不开缺少数据头,打开winhex加进去BUUCTF-Misc-No.3_第9张图片

flag{zhi_yin_you_are_beautiful}

[ACTF新生赛2020]outguess | SOLVED |

解压图片,发现图片属性面板有密
BUUCTF-Misc-No.3_第10张图片文破解就是abc ,然后

> outguess -k "abc" -r mmm.jpg 1.txt

在这里插入图片描述就出来了

ACTF{gue33_Gu3Ss!2020}

[SUCTF2018]single dog | SOLVED |

举报题目歧视人哼~,把图片用foremost attachment.jpg分离一下在这里插入图片描述
有2个东西一个是zip一个图片,然后吗打开zip发现是颜文字加密BUUCTF-Misc-No.3_第11张图片
随便按一个F12就出来了双十一快乐,然后以为是flag 然后不是,翻译成英文对了。

flag{happy double eleven}

[HBNIS2018]excel破解 | SOLVED |

把excel 拉入winhex,找一下flag,尽然就找到了
在这里插入图片描述

flag{office_easy_cracked}

派大星的烦恼 | SOLVED |

放入winhex看到了派大星受伤的地方拷贝出来BUUCTF-Misc-No.3_第12张图片
发现正好有256,32个二进制,然后转换一下用txt的替换BUUCTF-Misc-No.3_第13张图片
先后测试了很多,比如转换成ascii,MD532,最后不行了,就百度一下找到了大佬的解码脚本

def bin_to_str(s):
    return ''.join([chr(i) for i in [int(b, 2) for b in s.split(' ')]])
a = "01101100 00101100 00001100 01101100 10011100 10101100 00001100 10000110 10101100 00101100 10001100 00011100 00101100 01000110 00100110 10101100 01100110 10100110 01101100 01000110 01101100 10100110 10101100 01000110 00101100 11000110 10100110 00101100 11001100 00011100 11001100 01001100"
a = a.split(' ')
flag=''
for i in a:
    test=i[::-1]
    flag+=bin_to_str(test)
 
print flag

flag{6406950a54184bd5fe6b6e5b4ce43832}

从娃娃抓起 | SOLVED |

BUUCTF-Misc-No.3_第14张图片
找了半天终于找到了

0086   1562   2535   5174             中文电码
 人      工     智     能
bnhn s wwy vffg vffg rrhy fhnv        五笔编码
也   要 从   娃   娃   抓   起

flag{3b4b5dccd2c008fe7e2664bd1bc19292}

[DDCTF2018](╯°□°)╯︵ ┻━┻ | SOLVED |

BUUCTF-Misc-No.3_第15张图片

下面转成10进制,所有-128,在转ASCII。最后脚本

# -*- coding:utf-8 -*-zhua
# author: mochu7
def hex_str(str):#对字符串进行切片操作,每两位截取
    hex_str_list=[]
    for i in range(0,len(str)-1,2):
        hex_str=str[i:i+2]
        hex_str_list.append(hex_str)
    print("hex列表:%s\n"%hex_str_list)
    hex_to_str(hex_str_list)


def hex_to_str(hex_str_list):
    int_list=[]
    dec_list=[]
    flag=''
    for i in range(0,len(hex_str_list)):#把16进制转化为10进制
        int_str=int('0x%s'%hex_str_list[i],16)
        int_list.append(int_str)
        dec_list.append(int_str-128)#-128得到正确的ascii码
    for i in range(0,len(dec_list)):#ascii码转化为字符串
        flag += chr(dec_list[i])
    print("转化为十进制int列表:%s\n"%int_list)
    print("-128得到ASCII十进制dec列表:%s\n"%dec_list)
    print('最终答案:%s'%flag)


if __name__=='__main__':
    str='d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd'
    print("字符串长度:%s"%len(str))
    hex_str(str)

That was fast! The flag is: DDCTF{922ab9974a47cd322cf43b50610faea5}

数据包中的线索 | SOLVED |

查看数据发现了base64加密,然后在这里插入图片描述
看一下头
在这里插入图片描述
少了点东西给他加上头data:image/jpeg;base64,
BUUCTF-Misc-No.3_第16张图片

flag{209acebf6324a09671abc31c869de72c}

webshell后门 | SOLVED |

下载文件解压到文件夹中,然后用D盾给大家一个网址下载
在这里插入图片描述扫描一下发现2个可疑的文件找一下
BUUCTF-Misc-No.3_第17张图片
其中txt找到了flag

flag{ba8e6c6f35a53933b871480bb9a9545c}

菜刀666 | SOLVED |

使用foremost分离一下在这里插入图片描述得到带锁的压缩包
在这里插入图片描述然后在数据中找tcp数据流BUUCTF-Misc-No.3_第18张图片在7的时候找到了一堆16进制代码BUUCTF-Misc-No.3_第19张图片然后放进winhex里面,发现是jpg图片,保存改个格式

Th1s_1s_p4sswd_!!! = 解压密码

flag{3OpWdJ-JP6FzK-koCMAK-VkfWBq-75Un2z}

Mysterious | SOLVED |

这题多半靠猜,请大家关注这个大佬看看详细方法,虽然我还是没看懂,ida也不是很会~呜呜呜,我没救了这个大佬哦Sea_Sand

在ida找到了似乎是flag,把他整合起来{%_Buff3r_0v3rf|0w}
BUUCTF-Misc-No.3_第20张图片似乎里面,少了一点东西百度一下,发现了函数
BUUCTF-Misc-No.3_第21张图片算一下
{123_Buff3r_0v3rf|0w},也知道了这个软件的密码是122xyz

flag{123_Buff3r_0v3rf|0w}

穿越时空的思念 | SOLVED |

用Audacity看BUUCTF-Misc-No.3_第22张图片,发现是莫斯密码解码一下,发现有重复的去掉。
在这里插入图片描述

flag{f029bd6f551139eedeb8e45a175b0786}

喵喵喵 | SOLVED |

用看图软件看一下,发现BUUCTF-Misc-No.3_第23张图片所有颜色0通道里面东西,然后看一下发现了png格式。BUUCTF-Misc-No.3_第24张图片(对了这个图片导出来会应为头多了2个删除就好了。)给了图片只有一半BUUCTF-Misc-No.3_第25张图片爆破一下高度,图片: https://uploader.shimo.im/f/sp1fZWRBQvYWclrf.png果然高度问题,BUUCTF-Misc-No.3_第26张图片扫描就有了一个网盘地址(PS:暴躁!!!禁止套娃鸭在这里插入图片描述BUUCTF-Misc-No.3_第27张图片看起来不在txt中
在大佬网址找到免费的Ntfsstreamsedotor,然后扫描一下BUUCTF-Misc-No.3_第28张图片
发现的pyc的发吧编译网址BUUCTF-Misc-No.3_第29张图片看到了十进制老规矩脚本救助。

import base64
 
text = ['96','65','93','123','91','97','22', '93','70','102','94','132','46','112','64','97','88','80','82','137','90','109','99','112']
text = text[::-1]
 
def decode():
    code = ''
    for i in range(24):
        if(i%2 == 0):
            a = int(text[i]) - 10
        else:
            a = int(text[i]) + 10
        a = i ^ a
        code = code + chr(a)
    print(code)
    
decode()

flag{Y@e_Cl3veR_C1Ever!}

完本期结束了大家晚安,

在这里插入图片描述
对了附送大家一个破解算出png图片高度的脚本

import zlib
import struct

filename = '1.png'
with open(filename, 'rb') as f:
    all_b = f.read()
    crc32key = int(all_b[29:33].hex(),16)
    data = bytearray(all_b[12:29])
    n = 4095            #理论上0xffffffff,但考虑到屏幕实际/cpu,0x0fff就差不多了
    for w in range(n):          #高和宽一起爆破
        width = bytearray(struct.pack('>i', w))     #q为8字节,i为4字节,h为2字节
        for h in range(n):
            height = bytearray(struct.pack('>i', h))
            for x in range(4):
                data[x+4] = width[x]
                data[x+8] = height[x]
            crc32result = zlib.crc32(data)
            if crc32result == crc32key:
                print("宽为:",end="")
                print(width)
                print("高为:",end="")
                print(height)
                exit(0)

别问问就是大佬哪里找的,谢谢那位大佬~

你可能感兴趣的:(Mise,BUUCTF,Python)