HJCTF First(400)

感觉 这个题 很玄学  (主要是很多逻辑我还是没有看的很明白)

然后这个题  说实话就是 好玩一点   而且因为这个所谓的好玩 我还给 搜了两份题解

https://www.xctf.org.cn/library/details/af327b4938fc3ae28cfa1f1f044551a6e25b2fbd/

https://www.xctf.org.cn/library/details/2a195fab682c600b5493f42cddd3acb8f4df443a/

其实这个题的 大概步骤我都清楚

但是没有想到的是  我输入的正确答案 竟然没有爆出正确flag

  后来想想  莫非 多线程  读写容易出问题吧

看md5 主要是 那四个 常数 

 

然后写脚本

#!/usr/bin/python3
# -*- coding:utf-8 -*-
import string,hashlib
l1 = ['0f59bb02bdbb4647', '5cfce8ec2128acbe', 'ef0375ca659274ad', '27422cc18fb38643', 'a72deca745cc3eb0', 'e8341712fe5f3cbe']
l2 = []
input_str = [0 for x in range(0, 6)]  
for i in l1:
    temp=''
    for j in range(0,len(i),2):
        temp=i[j:j+2]+temp
    l2.append(temp)
#sstr=string.printable
sstr=string.ascii_letters
for i in sstr:
	for j in sstr:
		for k in sstr:
			for l in sstr:
				temp=str(i)+str(j)+str(k)+str(l)
				#print(temp)
				md_encode=hashlib.md5(temp.encode("utf8")).hexdigest()
				for ii in range(len(l2)):
					if l2[ii] in md_encode:
						input_str[ii]=temp
						#print(i)
for i in range(len(l2)):
	print(input_str[i],end="")

下断点  在 pthread_mutex_lock(&mutex);

得出flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值