CTFer自制工具 MD5数字碰撞

本文介绍了一种PHP脚本实现的MD5加密匹配工具,用于简化CTF竞赛中的参数验证。该工具设计为GUI程序,通过输入目标字符和起始位置,快速生成满足条件的MD5加密结果。提供了三种匹配模式:开头、结尾和包含,可通过下载链接获取34.4MB的exe文件。

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

目录

前言

原理

软件介绍

下载地址


前言

        有的时候做题要求匹配某个参数,在进行MD5加密后,开头、结尾或者是中间某段被指定要等于某几个字符,例如这道题:

BUUCTF在线评测BUUCTF 是一个 CTF 竞赛和训练平台,为各位 CTF 选手提供真实赛题在线复现等服务。icon-default.png?t=N7T8https://buuoj.cn/match/matches/190/challenges#%E3%80%90%E5%B7%B2%E5%81%9C%E6%AD%A2%E6%8F%90%E4%BA%A4%E3%80%91R!C!E!

<?php
highlight_file(__FILE__);
if(isset($_POST['password'])&&isset($_POST['e_v.a.l'])){
    $password=md5($_POST['password']);
    $code=$_POST['e_v.a.l'];
    if(substr($password,0,6)==="c4d038"){
        if(!preg_match("/flag|system|pass|cat|ls/i",$code)){
            eval($code);
        }
    }
}

        这里要求 password 在进行 MD5 加密后,开头六个字符是 c4d038 ,本身不算很难的逻辑,但是每次使用都需要重新编辑脚本,不如写成GUI程序,一劳永逸。

原理

        循环增加数字,从1开始,对该数字进行MD5加密,判断是否符合要求。

软件介绍

软件图标
软件图标

        软件的本体就是一个34.4MB的exe可执行程序,打开软件,界面如下:

软件界面
软件界面

                在左上第一个框内输入需要匹配的字符,左上第二个框填入开始是匹配开始的位置索引(从1开始),填写好参数后,点击右上开始,即开始运行,内部十个线程,速度跑满,下方进度条记录进度。

        软件一共有三个模式,分别是匹配开头,匹配结尾以及匹配包含,匹配开头和匹配结尾没什么好介绍的,见名知意,但是匹配包含需要稍作讲解。

可选模式
可选模式
  • 匹配开头:匹配以设定字符开头
  • 匹配结尾:匹配以设定字符结尾
  • 匹配包含:
    • 当索引为-1,即为任意位置,只要包含即匹配
    • 当所有为其他数,例如为3,即加密后第三位开始要与设定字符相匹配

下载地址

百度网盘下载icon-default.png?t=N7T8https://pan.baidu.com/s/1NHiWghb0xgkVL_AZkYNl3A?pwd=dbcl

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

d0ublecl1ck_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值