CRYPTO

CRYPTO3

直接在当前页面打开控制台,然后将那串东西复制进去,按回车,flag就出来了

 

一.萌新赛

1.签到题

Ao(mgHX^E)AN2PSBOu3qI0o

其中有^这种偏僻的字符,应该是base64以上的加密,猜想是base85,所以在线解密了一下,得到flag

2.抱我

cstring = 'abcdefghijklmnopqrstuvwxyz{}_0123456789'
key = 'flag{********}'
length = 300
def encode():
res = ''
for i in range(1, length):
c = random.randint(0, 36)
res += cstring[c]
for n in range(10):
c = random.randint(0, len(key) - 1)
res += key[c]
return res
#qdfl33{6{6gs3afa6{3}agf{}aagdf}6fl36d{dfl{6ay6gafddfg}{j3f}}6la{3}bfdf3}gla}65}lg6g6dflf0{dfgd3fdfgc{g6a}a3{6}mfa{}f}f}}}3363}}f6a6a7g{a}g66{d3xgfffg}a}3}_{lad}a33ga5fd33}{{dl}{}f{3da

题目如上,首先分析代码

其实前面一大部分都没什么用,关键代码从for n in range(10)开始,大体意思就是随机从key也就是先取cstring中一个字符再从flag中取连续10个字符,以此循环,然后解题脚本就是反过来

即从res中第二个字符开始连续取十个,然后再隔一个,以此类推,脚本如下:

def decode(cipher):
decipher = ''
for i in range(1, len(cipher), 11):
decipher += cipher[i: i + 10]
return decipher
cipher = 'qdfl33{6{6gs3afa6{3}agf{}aagdf}6fl36d{dfl{6ay6gafddfg}{j3f}}6la{3}bfdf3}gla}65}lg6g6dflf0{dfgd3fdfgc{g6a}a3{6}mfa{}f}f}}}3363}}f6a'
print(decode(cipher))

得到一串flag的乱码,词频统计:

得到flag{36d}

3.妈呀,完了

先是二进制转字符串,上脚本:

int_ = "010001000101001101111001001100110100101001111001010010110" \
"1110110010100000100001101010000011011010100100000110100010" \
"10111010000110111101000101011010101000110100001010111011010" \
"010011001001000110011001110100101101101111001110010110010101" \
"0100110101000001010101001101000110010100110101011001110010101" \
"10110101001011010010101010011001101000110011100100101011101001110" \
"01110110010011000100110100110101001101010110101101000101011001100" \
"011000101101000010001010110110101001110011100100111010100101011010011100100010100110011"
str_ = "".join([chr(int(int_[i:i+8], 2)) for i in range(0, len(int_), 8)])
print(str_)

得到DSy3JyKvPCPmH4WCz+ThWi2FgKo9eSPU4e5g+jZU3FrWNvLM55kEf1hEmNru+NE3

听大佬说是AES加密,然后结合题目名称和图片,猜想密码可能是20121221(玛雅世界末日的时间)

然后在线解密一下:

得到flag{第13个伯克盾将会结束}

二.BJDCTF2020

1.签到题

这题直接在线16进制转字符串就行了

2.编码与调制

打开图片,以为和二进制有什么关系,琢磨了好长时间,最后题解说是曼彻斯特编码,于是去科普了一下曼彻斯特编码

其实曼彻斯特编码就是一种用电平跳变来表示1或0的编码方法

而那个图片其实就暗示了是曼彻斯特编码

用在线工具解码一下

然后再16进制转字符串就得到flag

 

 

posted @   Athena-ydy  阅读(240)  评论(6编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!
点击右上角即可分享
微信分享提示