总结ctf中 MD5 绕过的一些思路

本文总结了CTF竞赛中常见的MD5绕过技巧,包括0e绕过、数组绕过、强类型绕过等,并给出了具体的示例代码和测试数据,帮助读者深入理解如何利用MD5特性进行安全渗透测试。


1. 常规的0e绕过

  • QNKCDZO
  • 240610708
  • s878926199a
  • s155964671a
  • s214587387a
  • s214587387a
这些字符串的 md5 值都是 0e 开头,在 php 弱类型比较中判断为相等

2. 数组绕过

如下代码

var_dump(md5($_GET['a']) == md5($_GET['b']))

传入

a[]=a&b[]=b 

虽然会报错,但是判断为真
在这里插入图片描述

可以看到,MD5一个数组返回了null,null==null,成功绕过


3. 强类型绕过

if((string)$_POST['a'] !== (string)$_POST['b'] && md5($_POST['a']) === md5($_POST['b']))

[安洵杯 2019]easy_web(buu有环境) 的源码,第一次遇到这个,我直接懵逼

上面的方法都不能用了,百度了一番才知道还有强类型绕过(这应该是md5碰撞了)

payload如下:

a=
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值