[青少年CTF]Crypto-继续扫吧要有耐心

1)题目链接

题目链接

2)解题思路

2.1、下载文件,解压缩得到1857张二维码图片,使用python中pyzbar模块进行批量二维码解码。
from pyzbar.pyzbar import decode
from PIL import Image

ss=[]
for i in range(1,1858):
    f='F:\Ctf-Files\ctf-file\附件\\'+str(i)+'.png'
    d= decode(Image.open(f))[0].data.decode()
    d=d.replace('.','').replace('-','').replace('/','').replace('=','=\n')		#扫描出一串base64编码字符串,其中包含干扰字符(.-/)需要替换掉
    print(d,end='')

在这里插入图片描述

2.2、通过两次base64解码得到19串md5编码,使用在线md5解码发现为单个字符串,使用hashlib模块对md5编码进行强匹配。

字符串中包含:abcdefghijklmnopqrst{}-

import re,hashlib,string

str_map=string.ascii_lowercase+string.digits+'{'+'}'+'-'
s='7694f4a66316e53c8cdd9d9954bd611d03c7c0ace395d80182db07ae2c30f0347b8b965ad4bca0e41ab51de7b31363a14a8a08f09d37b73795649038408b5f33e358efa489f58062f10dd7316b65649e8fa14cdd754f91cc6554c9e71929cce7f95b70fdc3088560732a5ac135644506cfcd208495d565ef66e7dff9f98764da1679091c5a880faf6fb5e6087eb1b2dc0cc175b9c0f1b6a831c399e2697726618277e0910d750195b448797616e091ad8fa14cdd754f91cc6554c9e71929cce70cc175b9c0f1b6a831c399e2697726611679091c5a880faf6fb5e6087eb1b2dc0cc175b9c0f1b6a831c399e269772661336d5ebc5436534e61d16e63ddfca3278fa14cdd754f91cc6554c9e71929cce71679091c5a880faf6fb5e6087eb1b2dc4a8a08f09d37b73795649038408b5f3392eb5ffee6ae2fec3ad71c777531578f336d5ebc5436534e61d16e63ddfca3274a8a08f09d37b73795649038408b5f33c9f0f895fb98ab9159f51fd0297e236da87ff679a2f3e71d9181a67b7542122c0cc175b9c0f1b6a831c399e269772661cfcd208495d565ef66e7dff9f98764daa87ff679a2f3e71d9181a67b7542122c8fa14cdd754f91cc6554c9e71929cce7e1671797c52e15f763380b45e841ec32cbb184dd8e05c9709e5dcaedaa0495cf'
ss=re.findall('.{32}',s)
for i in ss:
    for j in str_map:
        if i == hashlib.md5(j.encode()).hexdigest():
            i = j
            print(i,end='')

flag:qsnctf{06adfa6a-f6cb-c84a04fe}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值