分享
  1. 首页
  2. 文章

南京邮电大学CTF密码学之MD5-golang与php代码实现

xuthus · · 1960 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

题目内容:这里有一段丢失的md5密文 e9032???da???08????911513?0???a2 要求你还原出他并且加上nctf{}提交 已知线索 明文为: TASC?O3RJMV?WDJKX?ZM 题目来源:安恒杯
简单的MD5密码碰撞,通过对比密文e9032 与加密后的数据 定位相关信息
解题代码如下

GO语言版

package main
import (
 "crypto/md5"
 "io"
 "encoding/hex"
 "strings"
 "fmt"
)
var Enable = []rune{'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9',' ', '!', '"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '@','[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~'}
func main() {
 var(
 rune1 rune
 rune2 rune
 rune3 rune
 )
 for i:=0; i< len(Enable);i++ {
 rune1 = Enable[i]
 for j:=0; j< len(Enable);j++ {
 rune2 = Enable[j]
 for k:=0; k< len(Enable);k++ {
 rune3 = Enable[k]
 strToDecode := "TASC"+string(rune1)+"O3RJMV"+string(rune2)+"WDJKX"+string(rune3)+"ZM"
 str := md5.New()
 io.WriteString(str, strToDecode)
 hexStr := str.Sum(nil)
 code := hex.EncodeToString(hexStr)
 result := "e9032"
 com01 := strings.Contains(code,result)
 if com01 == true {
 fmt.Println(strToDecode,code)
 }
 }
 }
 }
}

PHP版

<?php
 $list = array(
 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9',' ', '!', '"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '@','[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~'
 );
 for ($i=0;$i<count($list);$i++){
 $str1 = $list[$i];
 for ($j=0;$j<count($list);$j++){
 $str2 = $list[$j];
 for ($k=0;$k<count($list);$k++){
 $str3 = $list[$k];
 $str = "TASC".$str1."O3RJMV".$str2."WDJKX".$str3."ZM";
 $md5 = md5($str);
 if(strstr($md5,"e9032")){
 echo $str."---".$md5."\n";
 }
 }
 }
 }

有疑问加站长微信联系(非本文作者)

本文来自:博客园

感谢作者:xuthus

查看原文:南京邮电大学CTF密码学之MD5-golang与php代码实现

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
1960 次点击
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏