攻防世界 - misc部分

0X00.pdf

下载得到一个PDF文件,打开是一张图片
在这里插入图片描述

观察了一下没发现什么异样,尝试Ctrl+a选择全部,发现中间有处阴影
在这里插入图片描述

将其复制下来粘贴,得到flag。

0X01. give_you_flag

下载附件得到一张图片,打开后是一张动图,观察了一遍,发现在最后的时候会有一个一闪而过的二维码,于是将其拖入PS中
在这里插入图片描述在这里插入图片描述

因为二维码的三个角落的定位符缺失了,无法扫码,所以要先对其进行修补
在这里插入图片描述

扫码得到flag。

0X02. stegano

下载附件得到一个PDF文件,满篇的文字,尝试查看文件属性没有什么有用信息。
在这里插入图片描述

看见旁边有红边,猜测flag可能隐藏在周围的红边中,但是我使用的阅读器无法对PDF文件进行编辑,于是将其拖入浏览器中,尝试看看能不能通过浏览器阅览收货扫码信息。
然后F12查看源码发现隐藏在其中的这么一段信息,猜测可能是一种加密方法。由于是AB型,两种密文,首先将其视为摩斯密码加密,将A替换为.,B替换为-,解密
在这里插入图片描述
在这里插入图片描述

成功得到flag。

0X03.坚持60s

下载附件得到一个jar文件,打开发现是一个游戏(老原谅色了)
在这里插入图片描述

应该是在成功后输出flag,当然游戏难度很大,也不可能真的去打通游戏。于是这里就用到了jd-gui,进行java反编译,查看发编译后的代码,在其中发现了flag,但显然其中内容经过了base64编码,进行解码后得到了真正的flag
在这里插入图片描述

0X04.gif

下载附件解压后发现文件夹里面有很多纯黑色和纯白色的图片
在这里插入图片描述

黑白猜测为0和1,猜测有可能是二进制,手动数的话很麻烦而且可能会弄错,于是借助python脚本,将其转化为二进制

white = open("E:/gif/0.jpg", "rb").read()
black = open("E:/gif/0.jpg", "rb").read()
pic = "E:/gif/"
flag = ""
for i in range(0, 104):
    picture = pic + str(i) + ".jpg"
    with open(picture, "rb") as f:
        if f.read() == white:
            flag += "0"
        else:
            flag += "1"
print(flag)

在这里插入图片描述在这里插入图片描述

拿到flag

0X05.如来十三掌

下载得到一个Word文档,打开是一段很深奥的文字,结合做题经验,猜测应该是与佛论禅,解密网址http://www.keyfc.net/bbs/tools/tudoucode.aspx
在这里插入图片描述

在前面加上“佛曰:”的前缀后,进行解密,得到一串字符串
在这里插入图片描述

猜测是base64编码,可是解来却是一堆乱码
在这里插入图片描述

结合题目中给出的如来十三掌,联想到了rot13加密,解密得到
在这里插入图片描述

又是一串字符串,再次进行rot13,却得不出flag,于是将其进行base64解码,得到了flag
在这里插入图片描述

ROT13(回转13位)

ROT13是一种简易的替换式密码算法。它是一种在英文网络论坛用作隐藏八卦、妙句、谜题解答以及某些脏话的工具,目的是逃过版主或管理员的匆匆一瞥。ROT13 也是过去在古罗马开发的凯撒密码的一种变体。ROT13是它自身的逆反,即:要还原成原文只要使用同一算法即可得,故同样的操作可用于加密与解密。该算法并没有提供真正密码学上的保全,故它不应该被用于需要保全的用途上。它常常被当作弱加密示例的典型。

应用ROT13到一段文字上仅仅只需要检查字母顺序并取代它在13位之后的对应字母,有需要超过时则重新绕回26英文字母开头即可。A换成N、B换成O、依此类推到M换成Z,然后串行反转:N换成A、O换成B、最后Z换成M(如图所示)。只有这些出现在英文字母里的字符受影响;数字、符号、空白字符以及所有其他字符都不变。替换后的字母大小写保持不变。

0X06掀桌子

题给了一串字符串
在这里插入图片描述

可以看出只有a-f 0-9,而且这么长,2位十六进制可表示1个字节,应该是十六进制,两两一组。
上python脚本解密,得到flag

a = '/119/101/108/99/111/109/101/116/111/97/116/116/97/99/107/97/110/100/100/101/102/101/110/99/101/119/111/114/108/100'
b = a.split('/')
c = ''
for i in b:
    if i != '':
        c += chr(int(i))
print(c)

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值