【网络攻防技术】实验三——MD5碰撞实验

本文通过实验详细介绍了如何使用md5collgen生成MD5值相同的文件,并通过修改Lab3_task2.c和Lab3_task3.c代码,创建两个行为不同但MD5值相同的可执行文件。实验揭示了MD5校验值的局限性,即由于有限的MD5值与无限的文件数量之间的冲突,导致不同行为的文件可能拥有相同的MD5值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、实验要求

本次实验主要是加深大家对MD5碰撞及其原理的理解,使用SEED实验环境中的工具及编程语言,完成以下任务:
a)使用md5collgen生成两个MD5值相同的文件,并利用bless十六进制编辑器查看输出的两个文件,描述你观察到的情况;
b)参考Lab3_task2.c的代码,生成两个MD5值相同但输出不同的两个可执行文件。
c)参考Lab3_task3.c的代码,生成两个MD5值相同但代码行为不相同的可执行文件。
d)回答问题:通过上面的实验,请解释为什么可以做到不同行为的两个可执行文件具有相同的MD5值?

二、实验步骤

(1)使用md5collgen生成两个MD5值相同的文件,并利用bless十六进制编辑器查看输出的两个文件,描述你观察到的情况;

  • 首先创建prefix.txt并修改内容为hail hydra
    在这里插入图片描述
  • 生成两个MD5相同的文件
    在这里插入图片描述
  • 验证文件是否相同、MD5是否相同
    在这里插入图片描述
  • 分别查看out1.bin和out2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值