【PolarD&N CTF] 你知道M型栅栏密码吗?

题目里给的题干是一串字符串:

仔细观察可以发现每一组字符串的第一个字符表示这一组字符串的进制

常见的四种进制分别为:十进制(Decimal)

                                        二进制(Binary)

                                        八进制(Octal)

                                        十六进制(Hexadecimal)

可以利用python来编写脚本进行进制的转换:

 

import binascii
text = "H7b D97 B00110111 D57 H37 H67 D55 B00110100 D52 H31 H62 O65 O65 H33 H7d D97 D101 H66 H39 O143 B00110110 D98 H32 H65 O154 O67 B01100100 D98 H36 H30 O67 O145 D53 O146 D51 H61 H61 O145"
result = ''
text2 = text.split(' ')
for i in text2:    
    if i[0] == 'B':
        result += chr(int(i[1:], 2))   
    if i[0] == 'O':       
        result += chr(int(i[1:], 8))    
    if i[0] == 'D':        
        result += chr(int(i[1:]))    
    if i[0] == 'H':        
        result += chr(int(i[1:], 16))
print(result)

运行的结果为:{a797g7441b553}aef9c6b2el7db607e5f3aae

得到结果后,根据题目,推测接下来的操作与栅栏密码的M型有关,大家可以上网学习一下栅栏密码的变形。

将上述结果如下排列:

就可以得到flag啦。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值