md5绕过

文章目录

    • \=\=和\=\=\=
    • md5数组绕过
    • 科学计数法绕过
    • 双md加密
    • md5碰撞
    • Hash长度攻击

下面会以同一道题给大家演示:
(题目来源与nssctf)
在这里插入图片描述

==和===

在php代码中我们会看到==和===,虽然两个都是表示相等,但是在细节上会有所部区别

==:是弱比较,只比较结果,不比较数据类型。
===:是强比较,不仅会比较结果,也会比较数据类型。

md5数组绕过

原理:

由于md5不能加密数组,在加密数组的时候会返回NULL。

如果是我们传入的两个参数相等,我们可以传入两个数组,判断条件就成为NULL=NULL,这样就可以绕过判断。

在这里插入图片描述
题目只需要两个不同的值,md5加密后相同就可以。传入数组,两个不同,并且加密都为NULL,相等。
这样的题目需要注意等号,如果是==,可以一个是数组,一个是整型,但是为===,就必须都是整型,或者都是数组。

科学计数法绕过

原理:

可以传入两个md5加密后是0e开头的字符串,但这个以0e开头的字符串只能是纯数字,这样php在进行科学计算法的时候会将它转化为0。

同样是上面那道题:
在这里插入图片描述
传入两个md5后都是0e开头的纯数字,变为0=0。
这里可以收集一些网上的字符串,没有必要每次都自己去写脚本跑。

s878926199a
s155964671a
s214587387a
s214587387a
s878926199a
s1091221200a
s1885207154a
240610708
314282422
571579406
903251147
QNKCDZO
240610708
314282422
s878926199a
s155964671a
s214587387a
s214587387a

双md加密

正常的方法当然是写脚本去跑,但是做题的时候遇到了,肯定可以收集一下呀。
md和md5后都是0e开头的字符串:

CbDLytmyGm2xQyaLNhWn
770hQgrBOjrcqftrlaZk
7r4lGXCH2Ksu2JNT3BYM

md5碰撞

对于md5加密的我们也可以使用md5碰撞产生相等的值。
这里使用了工具fastcoll。下载的地址:

https://github.com/iamjazz/Md5collision?tab=readme-ov-file

下载压缩包解压就可以了。
然后使用的话,对着项目里的文档就可以。
同样是开头那道题:

1.首先新建init.txt文档,然后随便输入一点东西,我输入的是123456
2.然后执行 fastcoll_v1.0.0.5.exe -p init.txt -o 1.txt 2.txt

在这里插入图片描述
此时会在目录下生成1.txt和2.txt。
接着将Md5collision.php放在php环境中运行,注意因为要打开1.txt和2.txt,所以不要把Md5collision.php文件单独拖到php环境运行,可以直接将整个文件夹放入运行
在这里插入图片描述
这里我们可以看到生成的md5字符串。看着相似,但是中间是有所不同的。利用bp传入数据,可以得到flag
在这里插入图片描述

Hash长度攻击

使用:hashpump
一个值等于一个拼接的字符串的md5值,有长度要求
且拼接的字符串值等于一个已知字符串加上一个未知字符串,

hashpump直接根据提示传入相关数据,就会自动生成payload。
注:记得将/x换成%00

2023年楚慧杯的web题中考到了这个点,网上有wp。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/730791.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

0201安装报错-hbase-大数据学习

1 基础环境简介 linux系统:centos,前置安装:jdk、hadoop、zookeeper,版本如下 软件版本描述centos7linux系统发行版jdk1.8java开发工具集hadoop2.10.0大数据生态基础组件zookeeper3.5.7分布式应用程序协调服务hbase2.4.11分布式…

Sora 作者被曝读博期间仅发表两篇论文,我们是否需要重塑科研价值观?

众所周知,在当今学术界,论文数量和产出速度常常被视为研究者生产力和学术成就的重要标尺。笔者也面试过很多博士生候选人,大家普遍会以自己读博期间发表过10几篇甚至几十篇论文而骄傲,很少有候选人会强调自己读博期间虽然发表论文…

UE5.1_TimeLine

UE5.1_TimeLine 问题引入:UE的Timeline可以在一个场景下无限制的使用多少次?一个动画流程的Timeline的时间持续怎么算?TimeLine中嵌套Timeline的做法是否是合理的?

【数据结构】泛型

文章目录 一、什么是泛型二、引出泛型1、语法 三、泛型类的使用1、语法2、示例3、类型推导(Type Inference) 四、裸类型(Raw Type)五、泛型如何编译的六、泛型的上界1、语法2、示例 七、泛型方法八、通配符九、包装类 一、什么是泛型 一般的类和方法,只能使用具体的…

Matlab|基于目标级联法的微网群多主体分布式优化调度

目录 主要内容 1.1 上层微网群模型 1.2 下层微网模型 部分程序 实现效果 下载链接 主要内容 本文复现《基于目标级联法的微网群多主体分布式优化调度》文献的目标级联部分, 建立微网群系统的两级递阶优化调度模型: 上层是微网群能量调度中心优化调度…

java中的字符串比较(题目作示例)

错误的代码 import java.util.Scanner; public class one {public static void main(String[] args) {Scanner scnew Scanner(System.in);String b"47568";int i0;for ( i 0; i <3; i){String asc.next();if(ab){System.out.println("密码正确&#xff0c;登…

C++ 类的前向声明的用法

我们知道C的类应当是先定义&#xff0c;然后使用。但在处理相对复杂的问题、考虑类的组合时&#xff0c;很可能遇到俩个类相互引用的情况&#xff0c;这种情况称为循环依赖。 例如&#xff1a; class A { public:void f(B b);//以B类对象b为形参的成员函数//这里编译错位&…

在外包公司干了4年,技术退步2年...

先说情况&#xff0c;大专毕业&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近6年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…

【Linux】常见的基本指令(中)

在本篇博客中&#xff0c;将会继续介绍Linux的常见的基本指令 一.rmdir指令 rmdir [空文件夹名] 删除空文件夹&#xff08;空目录&#xff09; 二.rm指令 rm [文件名] 删除文件 rm -r 递归删除文件夹&#xff08;目录&#xff09; rm -f 强制…

白话模电:1.绪论与半导体(考研面试常问问题)

一、什么是信号&#xff1f;什么是电信号&#xff1f; 信号反映消息的物理量&#xff0c;电信号是反应电压或电流变化的物理量。 二、什么是模拟信号&#xff1f;什么是数字信号&#xff1f; 模拟信号是时间和数值上均连续的信号&#xff0c;数字信号是时间和数值上均离散的信号…

[HackMyVM]靶场 Zeug

kali:192.168.56.104 主机发现 arp-scan -l # arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:d2:e0:49, IPv4: 192.168.56.104 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.56.1 0a:00:27:00:00:05 (Un…

2024年起该地推行「软考电子证书」!关于软考证书常见问题解答!

近日&#xff0c;安徽省人力资源和社会保障厅发布“关于2024年度安徽省专业技术人员职业资格考试工作计划及有关事项”的通知&#xff1a;从2024年起&#xff0c;推行电子证书&#xff0c;原则上不再发放纸质证书&#xff0c;电子证书与纸质证书具有同等效力。 安徽也推行电子…

Seata 2.x 系列【5】直接部署

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Seata 版本 2.0.0 本系列Spring Boot 版本 3.2.0 本系列Spring Cloud 版本 2023.0.0 源码地址&#xff1a;https://gitee.com/pearl-organization/study-seata-demo 文章目录 1. 概述2. 环境要…

学习嵌入式C语言要掌握到什么程度?

学习嵌入式C语言要掌握到什么程度&#xff1f; 在开始前我分享下我的经历&#xff0c;我刚入行时遇到一个好公司和师父&#xff0c;给了我机会&#xff0c;一年时间从3k薪资涨到18k的&#xff0c; 我师父给了一些 电气工程师学习方法和资料&#xff0c;让我不断提升自己&#…

Java注解介绍

Java注解 注解介绍元注解RetentionTargetDocumentedInherited接口类测试结果 注解介绍 Java注解&#xff08;Annotation&#xff09;是一种元数据&#xff08;Metadata&#xff09;的形式&#xff0c;它可以被添加到Java代码中的类、方法、变量、参数等元素上&#xff0c;以提…

一分钟带你入门Selenium入门!【建议收藏】

Selenium入门 欢迎阅读Selenium入门讲义&#xff0c;本讲义将会重点介绍Selenium的入门知识以及Selenium的前置知识。 自动化测试的基础 在Selenium的课程以前&#xff0c;我们先回顾一下软件测试的基本原理&#xff0c;为我们进一步完成Selenium自动化测试做好准备。 软件…

考研数学|张宇30讲,搭配什么基础题?

如果基础跟的是张宇&#xff0c;那么基础做的题目要根据自己的题目来决定 题集的选择最好不要太难&#xff0c;而且基础也不用做太多题目&#xff0c;以数学知识点的运用&#xff0c;培养做题感觉为主。 张宇老师的课程在基础阶段也有配套的课程&#xff0c;就是《张宇基础30…

2023郑州大学招新赛暨选拔赛补题

U287342 A.NANA与字符串 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) U287344 B.NANA学跳舞 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) U287345 C.NANA去上课 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include <bits/stdc.h> using namespace std; #de…

关于进程和线程

目录 前言: 1进程: 1.1定义&#xff1a; 1.1.1进程是操作系统分配资源的基本单元&#xff0c;拥有自己的独立空间和资源。 1.1.2每个进程都有一个唯一的PID&#xff08;进程标识符&#xff09;来标识。 1.2进程间通信&#xff1a; 1.2.1进程不是孤立的&#xff0c;它们之…

搜索引擎都没流量啦,官网建设还有啥意义?

百度等搜索引擎都没啥流量了&#xff0c;再建设官网还有啥用&#xff1f;如果你把官网定位于获客&#xff0c;那真的没啥太大用处&#xff0c;但是官网不仅仅是用来获客的。 一、搜索引擎的流量被稀释了 搜索引擎流量减少的原因有多个&#xff0c; 1. 社交媒体的崛起&#xf…