CTF show萌新题系列

Calandra ·
更新时间:2024-11-13
· 640 次阅读

题目地址: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隐写,用给出的工具,然后密码为空。


作者:羽



SHOW ctf

需要 登录 后方可回复, 如果你还没有账号请 注册新账号