题目:8842101220480224404014224202480122
解答:云影密码又叫“01248密码”。(这个题目写的幂数对应01248这个叫法)
云影加密:以‘0’为分隔,将数字相加,结果1-26对应字母a-z或者A-Z。
题目告知flag是八位大写字母,所以对应的字母范围是A-Z。
a='8842101220480224404014224202480122'.split('0')
flag=""
for i in a:
tmp=0
for j in i:
tmp+=int(j)
flag+=chr(tmp+64)
print(flag)
————————
flag是:WELLDONE
解答:(这题目放的位置很迷呀,不应该在杂项吗?)
wireshark打开发现全是UDP。先看一下会话和协议的统计情况,可以看到基本都是UDP,123和181的主机在进行通信。
随便跟踪一条长度比较大的流量,没有获取到信息,长度排序看一下,重复长度的流量没有信息,有一些长度出现比较少的几个流量包,发现有两个171,173长度的都出现了下面的数据。
其实也可以直接strings看这个流量包里有没有特殊字符串,然后就拿到了这段字符串,一看就是flag{}的十六进制形式~
获取flag:
string="666c61677b37466f4d3253746b6865507a7d"
print(bytes(bytearray.fromhex(string)))
#b'flag{7FoM2StkhePz}'
解答:给的这段信息里可以看到时不时会出现一些大写。
提取出来看看。
cat 1.txt | grep -Eo '[A-Z]' |tr -d '\n'
grep -Eo
:正则匹配
tr -d
:删除
是zero和one的组合,转换成0和1,再二进制转字符即可。
a="ZEROONEZEROZEROZEROZEROONEZEROZEROONEZEROZEROONEZEROZEROONEZEROONEZEROONEZEROONEZEROZEROZEROONEZEROONEZEROZEROONEONEZEROONEZEROZEROZEROZEROONEONEZEROONEZEROONEZEROONEZEROZEROZEROONEZEROZEROZEROONEONEZEROZEROONEONEONEONEZEROONEONEZEROONEONEZEROONEZEROZEROZEROZEROZEROONEONEZEROZEROZEROONEZEROONEONEZEROZEROONEZEROZEROZEROZEROONEONEZEROZEROONEONEZEROONEZEROONEONEONEONEONEZEROZEROONEONEZEROZEROZEROONEZEROONEONEZEROONEONEONEZEROZEROONEZEROONEONEONEONEONEZEROONEONEONEZEROZEROZEROZEROZEROONEONEZEROONEONEZEROZEROZEROZEROONEONEZEROONEZEROZEROZEROZEROONEONEZEROZEROZEROONEZEROONEONEZEROONEONEONEZEROZEROONEZEROONEONEONEONEONEZEROZEROONEONEZEROONEZEROONEZEROZEROONEONEZEROZEROZEROONEZEROZEROONEONEZEROONEONEONEZEROZEROONEONEZEROZEROONEONEZEROONEONEONEONEONEZEROONE"
a=a.replace('ZERO','0').replace('ONE','1')
result=""
for i in range(0,len(a),8):
result+=chr(int(a[i:i+8],2))
print(result)
#BITSCTF{h1d3_1n_pl41n_5173}
解答:题目提示垃圾邮件。
Spam Mimic,用于加密邮件的工具,可以把信息加密成垃圾邮件。
解密获取flag。
(这道题的原题是有提示的:需要一个在线的网站去解密,而这个网站使用了栅格密码。)
进一步学习: