-
-
[原创]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_孤城编辑
,原因:
赞赏
他的文章
看原图
赞赏
雪币:
留言: