首页 > 其他分享 >[BJDCTF2020]Easy MD5

[BJDCTF2020]Easy MD5

时间:2024-07-23 20:41:18浏览次数:8  
标签:加密 POST MD5 Easy 绕过 BJDCTF2020 比较 md5

[BJDCTF2020]Easy MD5

Step 1

看源代码没线索,用burp抓包看一下:

image-20240723193558838

发现提示,发现输入的是password

image-20240723193650559

要构造使password=’or‘1的形式使之形成永真的语句

md5($pass,true)应该就是将pass的值md5加密后成十六进制转换成字符

这时候276f7227就是十六进制的'or',只要MD5加密成276f7227+(非30)+随意填充到16个的字符,由于MD5加密不可逆,这比较难构造。

就上网看了一下wp,发现ffifdyop返回的散列值的ascii字符串就是'or'6É]™é!r,ùíb,前面是'or'6可以构成永真式

Step 2

来到下一步,查看源代码,顶部发现

<!--
$a = $GET['a'];
$b = $_GET['b'];

if($a != $b && md5($a) == md5($b)){
    // wow, glzjin wants a girl friend.
-->

是md5弱比较==

法一,0e绕过,百度的智能回答

  • 0e绕过:‌当两个字符串的MD5哈希值以"0E"开头时,‌它们在弱比较中会被视为相等,‌即使原始字符串不相等。‌例如,‌字符串"QNKCDZO"和"s878926199a"的MD5哈希值都以"0E"开头,‌因此在弱比较的情况下,‌它们会被认为是相等的,‌从而绕过安全检查。‌
  • Payload示例:‌为了利用这种弱比较的漏洞,‌攻击者可以构造特定的输入,‌如"?a=QNKCDZO&b=s878926199a",‌这样即使"a"和"b"的值在原始形式下不相等,‌但由于它们的MD5哈希值以"0E"开头且在弱比较中被视为相等,‌因此可以绕过某些安全检查。‌

但是比较难记,还有方法

法二,数组绕过

md5不能加密数组 ,如 a[]=1 , b[]=1 , 传入数组会报错,但会继续执行并且返回结果为null

比如传入md5(a[]=1)==md5(b[]=2),实际上是null==null,所以数组进行md5弱比较时,结果相等

payload=?a[]=1&b[]=2

Step 3

得到

<?php
error_reporting(0);
include "flag.php";

highlight_file(FILE);

if(\(_POST['param1']!==\)_POST['param2']&&md5(\(_POST['param1'])===md5(\)_POST['param2'])){
echo $flag;
}

三个===,MD5强比较,post传入

hackbar一下,用数字绕过

image-20240723203457953

最后成功获得flag

总结

MD5口诀

数组绕过,0e绕过

QNKCDZO 240610708 常用

md5(\(a)==md5(md5(\)a))

0e215962017

MD5加密登录万能通用

ffifdyop

参考

md5强比较&弱比较_md5弱比较-CSDN博客

标签:加密,POST,MD5,Easy,绕过,BJDCTF2020,比较,md5
From: https://www.cnblogs.com/bolerat/p/18319589

相关文章

  • BUUCTF [安洵杯 2019]easy_web
    上来看到url两个参数直接sqlmap挂着扫,dirsearch和githack扫都没东西,然后sqlmap也没有成果ctrl+U查看源码发现以base64编码输出了文件的内容,返回看url只有img参数有东西这个东西看着就像base64编码,解码两次得到一串数字,可能还是什么东西我又解了一次,发现是十六进制转字符......
  • [oeasy]python0026_调试程序_pdb3_帮助_help_求助_文档
    调试程序_debug_next_下一步_list_pdb3......
  • 视频汇聚平台EasyCVR启动出现报错“cannot open shared object file”的原因排查与解
    安防视频监控EasyCVR安防监控视频系统采用先进的网络传输技术,支持高清视频的接入和传输,能够满足大规模、高并发的远程监控需求。EasyCVR平台支持多种视频流的外部分发,如RTMP、RTSP、HTTP-FLV、WebSocket-FLV、HLS、WebRTC、fmp4等,这为其在各种复杂环境下的部署提供了便利。有用......
  • 安防视频监控/视频集中存储EasyCVR视频汇聚平台修改配置后无法启动的原因排查与解决
    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台基于云边端一体化架构,兼容性强、支持多协议接入,包括国标GB/T28181协议、部标JT808、GA/T1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤石云SDK等。平台能对外分发RTMP、RT......
  • EasyCaching.CSRedis使用Provider读取缓存时抛出异常
    当缓存Provider使用的是CSRedis时,在尝试使用下面的方法读取缓存值时抛出异常IEasyCachingProvider.GetAsync(stringcacheKey,Typetype,CancellationTokencancellationToken=default(CancellationToken))大概意思是在创建自定义类ResultData<T>的实例时,缺少合适的构造函......
  • Easy es问题总结
    官网教程:https://www.easy-es.cn/pages/ac41f0/#settings 一测试项目1pom<dependencies><!--排除springboot中内置的es依赖,以防和easy-es中的依赖冲突--><dependency><groupId>org.springframework.boot</groupId>......
  • Easyconnect官网下载安装使用教程
    每次要使用到Easyconnect想要去官网找软件的时候,都感到很头疼。个人感觉,很难找。终于找到一篇讲得比较通透的了。mark一下。原文请见:https://blog.csdn.net/LiuNian0213/article/details/137038742此处仅做搬运与记录,方便寻找。一、软件下载打开官网https://www.sangfor.c......
  • 同时使用easyexcel和Apache poi的依赖冲突问题
      前言Hello,hello!这里是Blue,今天我写代码遇到了一个这样的问题,我在使用easyexcel的时候它无法去执行我的操作,通过我一定的判断最终解决了问题报错 com.alibaba.excel.exception.ExcelAnalysisException:java.lang.NoClassDefFoundError:org/apache/poi/POIXMLTy......
  • 使用 Elasticsearch Python SDK 查询 Easysearch
    随着数据分析需求的不断增长,高效查询和分析大数据集变得越来越重要。Easysearch作为一种强大的国产化搜索和分析引擎,同时作为Elasticsearch国产替代方案,支持原生DSL查询语法和SQL查询,确保原业务代码无需调整即可无缝迁移。Easysearch兼容ES7.x现有的SDK和索引存储格......
  • 自动化中MD5和RSA加密解读!
     接口自动化中一般都会遇到密码加密的情况,有时候我们会找开发解决。其实测试工程师也是可以自己解决的,下面就给大家介绍一下请求中加密的方式和应用。 MD5加密特性与加密处理对称加密算法:加密和解密使用同一个密钥-----单密钥加密DES、AES不对称加密算法:加密和解密......