20220201--CTF刷题MISC方向--第5题

刷题网站:攻防世界 https://adworld.xctf.org.cn/

MISC方向–新手场–第5题–stegano

在这里插入图片描述

下载附件,是一个pdf格式的文件
在这里插入图片描述

水印提示“No flag here”,非常懵逼,看了WP,知道原来需要用浏览器打开。

复制浏览器中的内容到编辑器,发现有:
在这里插入图片描述
于是书写脚本转换:
1.保存内容:(将带有AB的内容粘贴到TXT文件保存起来)
在这里插入图片描述
2.书写脚本(因为本人对于Java比较熟悉,所以现学了一点Python的“字符串替代”语法)
脚本如下:(可能写的不够简洁,毕竟是初学)
在这里插入图片描述

def read_file(filepath):
    with open(filepath) as fp:
        content = fp.read();
        return content

# 把“A”换成“.”,把“B”换成“-”,把空格换成“/”
def changeContent(content):
    result = content.replace('A','.')
    result = result.replace('B','-')
    result = result.replace(' ','/')
    return result

loca = "ti/read.txt"
content = read_file(loca)
result = changeContent(content)
print(result)

脚本中:

第一个方法是read_file(filepath),主要功能是读取文件内容,传参是文件路径,读取的文件内容以字符串形式存入“content”

第二个方法是changeContent(content),主要功能是转换(把“A”换成“.”,把“B”换成“-”,把空格换成“/”),传参是文件读取的结果(这里在写脚本的 时候我遇到了一个坑,就是result.replace方法不改变原来字符串的内容,所以result.replace执行的结果一定要拿新的变量接收,否则最后return的结果还是原来的字符串)

转换结果:
在这里插入图片描述

-.-./—/-./–./.-./.-/-/…-/.-…/.-/-/…/—/-./…/–…--/…-./.-…/.-/–./—…/.----/-./…-/.----/…/.----/-…/.-…/…–/--/…–/…/…/…-/–./…–

然后需要摩斯密码解密:
解密网站:https://www.bejson.com/enc/morse/
在这里插入图片描述

解密结果:
CONGRATULATIONS,FLAG:1NV151BL3M3554G3

根据题目提示“提交格式为flag{xxx},解密字符需小写”
构造flag

flag{1NV151BL3M3554G3}—>flag{1nv151bl3m3554g3}

所以最终的flag就是flag{1nv151bl3m3554g3}

总结:
下载附件—》浏览器查看—〉粘贴内容到编辑器,发现重要的结构,判断摩斯密码—》转换格式—〉解密—》书写flag

补充:摩斯密码:

莫尔斯/摩尔斯电码(Morse code)是美国人莫尔斯于1844年发明的,由点(.)、划(-)两种符号组成

一点为一基本信号单位,一划的长度=3点的长度。
在一个字母或数字内,各点、划之间的间隔应为两点的长度。
字母(数字)与字母(数字)之间的间隔为7点的长度。

莫尔斯/摩尔斯电码(Morse code)曾被用在间谍通信,电报,航海信号等各个领域。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值