首页 > 其他分享 >哈希(md5)绕过

哈希(md5)绕过

时间:2023-07-09 11:33:17浏览次数:28  
标签:string test 哈希 0e print 绕过 MD5 md5

MD5

形式

MD5一共128位,内容由0-9之间的数字和a-f之间的小写字母组成

右边是一个MD5:d41d8cd98f00b204e9800998ecf8427e,共32个字符(一个字符4位)

绕过

0e绕过

原理:0e开头的字符串在参与比较时,会被当做科学计数法,结果转换为0

#生成0e开头+后面全是数字的md5编码的字符串的python脚本:
import hashlib
import itertools

def find_md5_with_0e_prefix():
    chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
    length = 1
    num = 0

    while True:
        for combination in itertools.product(chars, repeat=length):
            test_string = "".join(combination)
            hash_value = hashlib.md5(test_string.encode()).hexdigest()
            if hash_value[:2] == "0e" and hash_value[2:].isdigit():
                print("输入字符串:", test_string)
                print("MD5加密结果:", hashlib.md5(test_string.encode()).hexdigest())
                num += 1
                if(num == 2):
                    return
        length += 1

find_md5_with_0e_prefix()
aaroZmOk
aaK1STfY
aaO8zKZF
QNKCDZO
240610708
byGcY
sonZ7y
aabg7XSs
aabC9RqS
s878926199a
s155964671a
s214587387a
s1091221200a

数组绕过

原理:md5不能加密数组,传入数组会报错,但会继续执行并且返回结果为null

例子:md5(a[]=1) === md5(b[]=2)

<?php
$a = array(0=>"hello");
$b = array(1=>"word");
print_r($a);
print_r($b);
var_dump(md5($a) === var_dump(md5($b))) //bool(true)
?>

标签:string,test,哈希,0e,print,绕过,MD5,md5
From: https://www.cnblogs.com/ntrack/p/17538467.html

相关文章

  • 有效的字母异位词,哈希表方法
    /***有效的字母异位词*力扣题目链接(opensnewwindow)**给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。**示例1:输入:s="anagram",t="nagaram"输出:true**示例2:输入:s="rat",t=......
  • 哈希传递
    哈希传递简介PassTheHash即PTH,就是通过传递Windwos本地账户或者域用户的hash值,达到控制其他服务器的目的在进入企业内网之后,如果是WindowsPC或者服务器较多的环境,极有可能会使用到hash传递来进行内网的横传,现在企业内部一般对于口令强度均有一定的要求,抓取到本地hash后可......
  • 4.4 x64dbg 绕过反调试保护机制
    在Windows平台下,应用程序为了保护自己不被调试器调试会通过各种方法限制进程调试自身,通常此类反调试技术会限制我们对其进行软件逆向与漏洞分析,下面是一些常见的反调试保护方法:IsDebuggerPresent:检查当前程序是否在调试器环境下运行。OutputDebugString:向调试器发送特定的字符......
  • 阿里面试官:谈谈对Redis哈希表的理解
    不少朋友问我,能不能搞个八股文精讲,把面试问题讲讲透,于是系列就这样诞生了。咱们第一期先聊聊Redis。相信哈希表大家并不陌生,今天顺便聊聊Redis的哈希表。Hash表回顾哈希表是一种存储数据的结构,它有很多名字(键值对、字典、符号表、映射、关联数组)。在哈希表中,键和值是一一对应的......
  • 【字符串,哈希】【Yandex】Yandex7736
    2023.6.30ProblemLink定义一个串\(S\)是好的,当且仅当\(S\)可以不断消去相邻两个相同字符直至消空。给定一个长为\(n\)的字符串\(s\),求有多少个有序对\((i,j)\)满足\(s_i\neqs_j\)且交换\(s_i,s_j\)后\(s\)是好的。技巧:镜面对称矩阵哈希,\(A^2=I\)考虑哈希,给......
  • md5.js
    直接引入md5.js需要注意:(不然加密的md5不会变)md5(blob.byteLength)import{md5}from"@/utils/md5.js";/* *JavaScriptMD51.0.1 *https://github.com/blueimp/JavaScript-MD5 * *Copyright2011,SebastianTschan *https://blueimp.net * *License......
  • 操作系统权限提升(十三)之绕过UAC提权-MSF和CS绕过UAC提权
    系列文章操作系统权限提升(十二)之绕过UAC提权-WindowsUAC概述注:阅读本编文章前,请先阅读系列文章,以免造成看不懂的情况!!MSF和CS绕过UAC提权CS绕过UAC提权拿到一个普通管理员的SHELL,在CS中没有*号代表有UAC执行添加用户的命令时显示拒绝访问使用CS自带的插件进行绕过提权直接提到......
  • 算法学习day06哈希表part01-242、349、202、1
    packageSecondBrush.Hash;/***242.有效字母异位词*现在看到这个题目能想到怎么做,但是具体不知道怎么写*大致思路自己先描述一下:*就是建立一个hash表,然后遍历s,写进表中,遍历t,减去对应的数*hash表就可以理解为数组*/publicclassValidAnagram_242{publi......
  • 算法学习day07哈希表part02-454、383、15、18
    packageSecondBrush.Hash;importjava.util.HashMap;importjava.util.Map;/***454.四数相加II*给你四个整数数组nums1、nums2、nums3和nums4,数组长度都是n,请你计算有多少个元组(i,j,k,l)能满足:*0<=i,j,k,l<n*nums1[i]+nums2[j]+nums3[k......
  • ABAP MD5加密
    1.ABAPMD5加密標準函數(不區分大小寫)CALL FUNCTION 'MD5_CALCULATE_HASH_FOR_CHAR'    EXPORTING      data           = lv_string1    IMPORTING      hash           = lv_string2    EXCEPTIONS      no_data   ......