CTF show萌新题系列

题目地址:https://ctf.show
0X01 萌新_密码1

1.16进制转字符串
有很多网站可以实现,这里我也附上我的脚本:

# author:  羽
def hex_to_str():
    while True:
        s = input("输入要转成字符串的16进制(输入空字符串退出):")
        if s=='':
            break
        k=''
        try:
            for i in range(0,len(s),2):
                j = s[i]+s[i+1]
                k+=chr(int(j,16))
                print(k)
        except  Exception as err:
            print("输入有误:",end="")
            print(err)

def str_to_hex():
    while True:
        s = input("输入要转成16进制的字符串(输入空字符串退出):")
        if s=='':
            break
        k=''
        for i in s:
            k+=str(hex(ord(i)))
        k= k.replace("0x","")
        print(k)

def main():
     print('''
*****************************************
*             1.字符串转16进制                          *
*             2.16进制转字符串                         *
*****************************************
            ''')

     while True:     
        k = input("请输入要使用功能的序号:")
        if k=='1':
            str_to_hex()
            break
        if k=='2':
            hex_to_str()
            break
        else:
            print("输入有误请重新输入!!!")
            
if __name__=="__main__":
        main()

(如有错误还望指正,如有疑问还望提出)

2.base64解码字符串
python上有base64模板可以直接导入后解密

3.栅栏密码解密
这里给出一个方便的工具

链接:https://pan.baidu.com/s/1mNTd8FnuKU5EaXULNDDjdw
提取码:dtpa

0x02萌新_密码2

密文为 rdcvbg 2qase3 6tghu7,在键盘上将每段字符中的字符串连起来,包围住的字符即为flag

0x03萌新 密码3

摩斯密码解密后为 MORSE IS COOL BUT BACON IS COOLER MMDDMDMDMMMDDDMDMDDMMMMMMMDDMDMMDDM
提示我们用培根,培根密码是ABAB形式的,所以提取出后半段MMDDMDMDMMMDDDMDMDDMMMMMMMDDMDMMDDM,我们将M替换为A,将D替换为B解密培根密码即可解出flag。

0x04萌新 隐写2

考察压缩包密码爆破,提示中说了密码为生日,而是90后的生日,那么爆破的范围就大大缩小了,大致为900101到19991231,得到密码即可获得flag

0x05萌新 隐写4

题目中提示了图片没有什么用,那么线索应该再word文档中。在选项里有一个隐藏文字我们直接打上勾即可。在这里插入图片描述

0x06萌新 密码#4

首先得到一串base64码直接解码,提示说比base64还大的base,那我们用最笨的方法都尝试一遍,普遍的有base85 base91 base92,当然除了那个网站以外,Python也可以用base64.a85decode()解码,前提是导入base64。

0x07萌新 隐写3

直接打开图片即可得到flag

0x08杂项1

md5解密,题中给出了解密的网站,这里就不多说了。

0x09杂项2

解压出图片 用010editor查看,在末尾得到flag。

0x10萌新 杂项3

根据提示可得到如下关键数字 97 10 01 05,而且银行卡密码是六位数,所以排列组合多试几次就可以了。得到密码为 971015。

0x11杂项4

依旧是道压缩文档密码爆破,直接用上面的工具即可。

0x12杂项5

提取文档中最后一行所有的大写字母即可得flag。别忘了两个花括号。

0x13杂项6

考察伪加密。16进制字节搜索504b0102,修改504b0102后的第五位(即09)为00再次打开即可。

0x14杂项7,杂项8

修改为正确的宽高即可得flag,这里给出爆破宽高的脚本:

import struct
import binascii
import os
 
m = open("flag.png","rb").read()
k=0
for i in range(5000):
    if k==1:
        break
    for j in range(5000):
        c = m[12:16] + struct.pack('>i', i) + struct.pack('>i', j)+m[24:29]
        crc = binascii.crc32(c) & 0xffffffff
        if crc == 0x889c2f07:
            k = 1
            print(hex(i),hex(j))
            break

对于不同的题需要修改的地方为文件路径和crc的值。,红线标注第一第二处分别为图片的宽高16进制,第三处则为crc的值。
在这里插入图片描述

0x15 杂项10

把图片缩写就能看出来了 是 ”我好喜欢你"
在这里插入图片描述

0x16杂项11

直接用题中给的工具解密,密码为空,将解出的文件后缀设为png,扫描二维码,将得到的网站后面的base64解密得flag

0x17 隐写1

png文件头修改,正常的格式文件头为89 50 4E 47 0D 0A 1A 0A,将99改为89即可得到flag。

0x18隐写2

JPHS隐写,用给出的工具,然后密码为空。

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yu22x

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值