首页
社区
课程
招聘
[原创]KCTF 2024 第九题 WP
发表于: 2024-9-4 11:54 295

[原创]KCTF 2024 第九题 WP

2024-9-4 11:54
295

将输入分成3等分
第三部分:四皇后的解a3b1c4d2或a2b4c1d3加一个字符9(这里刚开始不知道9哪来的卡了一个小时,以为是每段都是8个字符~
第一部分:hellocat加一个未知字符
第二部分:翻转(x) * 3 == 150633606, 解出:20211205,因为是9个字符所以是202112050
·
三部分都验证通过后验证下原始输入的MD5 == 40d511825ecbc207eb6ef9a7b1c6e34b
·
最后用脚本爆破下MD5得到flag: hellocatx202112050a3b1c4d29

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import hashlib
 
def main():
    arr1 = "hellocat 202112050a3b1c4d29"
    arr2 = "hellocat 202112050a2b4c1d39"
 
    characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 
    target_md5 = "40d511825ecbc207eb6ef9a7b1c6e34b"
 
    for char in characters:
        # 更新 arr1 和 arr2 的第9个字符(从0开始计数)
        test_str1 = arr1[:8] + char + arr1[9:]
        test_str2 = arr2[:8] + char + arr2[9:]
 
        # 计算MD5
        md5_1 = hashlib.md5(test_str1.encode()).hexdigest()
        md5_2 = hashlib.md5(test_str2.encode()).hexdigest()
 
        if md5_1 == target_md5:
            print(f"flag: {test_str1}")
        if md5_2 == target_md5:
            print(f"flag: {test_str2}")
 
if __name__ == "__main__":
    main()
    input("Press any key to continue...")

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2024-9-4 11:57 被wx_孤城编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//