前女友(SKCTF)(WEB)

这是一篇关于解决SKCTF Web挑战的博客,涉及利用MD5算法的碰撞特性以及strcmp函数错误返回值为0的性质。通过构造不同但MD5值相同的变量v1和v2,以及使strcmp函数出错使得v3与flag值相等的策略,成功完成题目要求。

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

题目提示有个链接,打开链接

我们需要构造三个参数,v1,v2,v3,其中v1和v2需要值不同但md5的值相同,看起来是找md5碰撞的问题,利用md5函数的特性,md5算法不能用来比较数组,如果是数组会返回NULL,也就是等值。题目要求的是md5函数的返回值相等,所以就可以用两个值不同但不可md5的数据类型传入即可,此处我们使用v1[]=1&&v2[]=2。

第二个是strcmp函数,需要v3和flag的值相同才返回flag的值,貌似是一个鸡生蛋问题,但是我们依旧使用函数特性,strcmp函数如果出错,那么它的返回值也会是0,和字符串相等时返回值一致。那么如何出错呢,猜测不可比较时出错,那么传入一个数组试试,所以最后构造参数并用get方法传入。

 

  • 语法:s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值