[SWPUCTF 2021 新生赛]easy_md5

这篇具有很好参考价值的文章主要介绍了[SWPUCTF 2021 新生赛]easy_md5。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

md5绕过

弱类型比较

由于php中存在==的弱类型比较,所以我们可以通过hash比较的缺陷去绕过
比如:

var_dump("0e12345"=="0e66666");//true
var_dump(md5('240610708')==md5('QNKCDZ0'));//true

也就是只要两个数的md5加密后的值以0e开头就可以绕过,因为php在进行弱类型比较(即==)时,会现转换字符串的类型,在进行比较,而在比较是因为两个数都是以0e开头会被认为是科学计数法,0e后面加任何数在科学计数法中都是0,所以两数相等,在进行严格比较(===)时才会先判断字符串类型是否相等,在比较。
像这样特殊的md5值还有

240610708:0e462097431906509019562988736854
QLTHNDT:0e405967825401955372549139051580
QNKCDZO:0e830400451993494058024219903391
PJNPDWY:0e291529052894702774557631701704
NWWKITQ:0e763082070976038347657360817689
NOOPCJF:0e818888003657176127862245791911
MMHUWUV:0e701732711630150438129209816536
MAUXXQC:0e478478466848439040434801845361

除了这些还有很多参考:https://github.com/spaze/hashes/blob/master/md5.md

md5强类型比较

if(md5((string)$_GET['a'])===md5((string)$_GET['b']))
{<!-- -->
   var_dump($flag);
}

此时两个md5后的值采用严格比较,没有规定字符串如果这个时候传入的是数组不是字符串,可以利用md5()函数的缺陷进行绕过

var_dump(md5([1,2,3])==md5([4,5,6]));//true

var_dump(md5($_GET['a'])==md5($_GET['b']));
?a[]=1&b[]=1//true

md5()函数的描述是string md5(string $str[,bool $raw_output=false])

md5中需要的是一个string参数,但是当你传入一个array(数组)是,md5()是不会报错的,只是无法求出array的md5的值,这样就会导致任意的2个array的md5的值都会相等

引用自:https://www.codenong.com/cs109123653/

题解

[SWPUCTF 2021 新生赛]easy_md5,赛后题解,学习笔记,php,安全,开发语言
可以看到这里需要让password != name 又需要让他们的md5值相等,所以我们需要md5绕过

我们使用hackbar传入参数
[SWPUCTF 2021 新生赛]easy_md5,赛后题解,学习笔记,php,安全,开发语言
然后就能得到flag了
我们还可以使用[]类型比较的方法,
由于md5()函数存在缺陷,加密[]的时候返回值是NULL这样子的话就能够成功的绕过
[SWPUCTF 2021 新生赛]easy_md5,赛后题解,学习笔记,php,安全,开发语言文章来源地址https://www.toymoban.com/news/detail-743978.html

到了这里,关于[SWPUCTF 2021 新生赛]easy_md5的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [SWPUCTF 2021 新生赛]babyrce(详解)

    提示:没有提示 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 最近遇到的事太霉了,又是做到一半,靶机拒绝连接我,搞得我做题都不自信了 回到正文 题目 如下(示例):  看了一下,就是cookie值admin等于1时,就能包含文件,行吧,那就等于吧

    2024年02月06日
    浏览(42)
  • [SWPUCTF 2021 新生赛]ez_unserialize

    题目在哪呢?查看源代码试试 User-agent: * Disallow: 什么东西呢 发现disallow Robots 协议(也称为爬虫协议、机器人协议等)的全称是 “网络爬虫排除标准”(Robots Exclusion Protocol),网站通过 Robots 协议告诉搜索引擎哪些页面可抓,哪些页面不能抓。 disallow就是爬虫不能搜索的所以

    2024年02月05日
    浏览(39)
  • [SWPUCTF] 2021新生赛之(NSSCTF)刷题记录 ①

    NSSCTF平台:https://www.nssctf.cn/ 直接查看源代码 F12 搜 flag 即可。 NSSCTF{We1c0me_t0_WLLMCTF_Th1s_1s_th3_G1ft} NSSCTF{welcometo5space} 所以为满足 if 条件,输出flag,构造 Payload: NSSCTF{037de6d6-3b9e-4bb9-903f-4236c239b42a} 这里就是 md5 碰撞了 这里要求 a 和 b 输入值不相同, md5 加密后的值弱类型相等,

    2024年02月04日
    浏览(46)
  • 2023年8月30日-[SWPUCTF 2021 新生赛]jicao

    包含了flag.php文件,设定了一个POST请求的id和GET请求的json 语句会对GET请求的数据进行json解码 如果id和json变量的值都等于设定字符串,打印flag get传参数 的时候,直接 ?参数名=参数值 。 post传参数 可以利用hackbar插件。

    2024年02月10日
    浏览(42)
  • CTF 全讲解:[SWPUCTF 2021 新生赛]Do_you_know_http

    项目 描述 搜索引擎 Bing 、 Google AI 大模型 文心一言 、 通义千问 、 讯飞星火认知大模型 、 ChatGPT MDN Web Docs https://developer.mozilla.org/zh-CN/ 项目 描述 HackBar 1.2.2 浏览器 Chrome 项目 描述 得分项 HTTP 请求头 题目来源 NSSCTF 雾现 访问题目首页 hello.php 得到如下界面: 意在希望我们使

    2024年02月08日
    浏览(40)
  • [SWPUCTF 2022 新生赛]numgame

    这道题有点东西网页一段计算框,只有加和减数字,但是永远到大不了20,页面也没啥特别的,准备看源码,但是打不开,我以为是环境坏掉了,看wp别人也这样,只不过大佬的开发者工具可以打开,我的就不行 最后试了一下,你要么就在网页右上角更多工具里面手动打开,

    2024年02月13日
    浏览(35)
  • [SWPUCTF 2022 新生赛]ez_ez_php

    这段代码是一个简单的PHP文件处理脚本。让我们逐行进行分析: error_reporting(0);  - 这行代码设置了错误报告的级别为0,意味着不显示任何错误。 if (isset($_GET[\\\'file\\\'])) {  - 这行代码检查是否存在一个名为\\\"file\\\"的GET参数。 if ( substr($_GET[\\\"file\\\"], 0, 3) === \\\"php\\\" ) {  - 这行代码使用 su

    2024年02月12日
    浏览(38)
  • 【pwn】[SWPUCTF 2022 新生赛]InfoPrinter--格式化字符串漏洞,got表劫持,data段修改

    下载附件,checksec检查程序保护情况: No RELRO ,说明got表可修改 接下来看主程序: 函数逻辑还是比较简单,14行出现格式化字符串漏洞,配合pwntools的fmtstr_payload模块可直接攻击,然后就是题目提供了libc,然后第10行又泄露puts函数的地址,可直接计算出基址,然后就是/bin/sh这

    2024年02月08日
    浏览(60)
  • XFF漏洞利用([SWPUCTF 2021 新赛]Do_you_know_http)

    User-Agent:使得服务器能够识别客户使用的操作系统,浏览器版本等.(很多数据量大的网站中会记录客户使用的操作系统或浏览器版本等存入数据库中) Cookie:网站为了辨别用户身份进行session跟踪,并储存在用户本地终端上的数据(通常经过加密) X-Forwarded-For:简称XFF头,

    2024年02月09日
    浏览(37)
  • 曲师大2023大一新生排位赛-B.Sort题解

    题目描述 插入排序是一种非常常见且简单的排序算法。王同学是一名大一的新生,今天许师哥刚刚在上课的时候讲了插入排序算法。 假设比较两个元素的时间为 ,则插入排序可以以  的时间复杂度完成长度为 n� 的数组的排序。不妨假设这 n 个数字分别存储在​ 之中,

    2024年02月16日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包