南邮 md5 collision
链接 http://ctf.nuptsast.com/challenges#md5%20collision
题解 https://www.jianshu.com/p/9d541241b1d7
<?php $md51 = md5('QNKCDZO'); //
QNKCDZO的md5值为0e830400451993494058024219903391
$a = @$_GET['a']; $md52 = @md5($a); if(isset($a)){ if ($a != 'QNKCDZO' && $md51 == $md52) { //需要找一个a不等于QNKCDZO
但是两者md5相等 但不是完全相等 关于== http://zjw.dropsec.xyz/%E4%BB%A3%E7%A0%81/2016/10/09/php%E5%BC%B1%E7%B1%BB%E5%9E%8B.htmlecho "nctf{*****************}"; } else {echo "false!!!"; //echo 输出 }} else{echo "please input a";} ?>
网上搜索 php == 判断md5
发现文章:php弱类型中提到如下问题:
一个数字和一个字符串进行比较,PHP会把字符串转换成数字再进行比较。PHP转换的规则的是:若字符串以数字开头,则取开头数字作为转换结果,若无则输出0。例如:123abc转换后应该是123,而abc则为0,0==0这当然是成立的啦!所以,0 ==’abc’是成立的。当有一个对比参数是整数的时候,会把另外一个参数强制转换为整数。
1.php使用==
比较数字和字符串时,将字符串转换成数字后与数字进行比较。
字符串以数字开头:取前面的数字
字符串不以数字开头:0
3.上一点也是这道题的另一种思路。找到另一个字符串,这个字符串的md5值也以0e
开头。参考:md5值以0e开头的字符串
参考 http://zjw.dropsec.xyz/%E4%BB%A3%E7%A0%81/2016/10/09/php%E5%BC%B1%E7%B1%BB%E5%9E%8B.html
https://blog.csdn.net/anzhuangguai/article/details/70049960
php关于==号是这样处理的,如果一边是整型,另一边也需要是整型。
0e545993274517709034328855841020
这是一个整数,在php里是理解为0*10^4549...20的意思,那么其值是0
同样
0e342768416822451524974117254469
这是一个整数,在php里是理解为0*10^34..69的意思,那么其值是0
举一个反面的例子
1e1和1e2
1e1 == 1e2 这个结果是对是错?
这里1e1=1*10^1=10
1e2=1*10^2=100
所以1e1 == 1e2这是false,但是
100 == 1e2 这是true,为什么1e2先转为整型,是100
注意,对于e是指幂次。而其他26字符并不具有此能力。
---------------------
原文:https://blog.csdn.net/anzhuangguai/article/details/70049960
转载于:https://www.cnblogs.com/islsy/p/10654277.html
南邮 md5 collision相关推荐
- 南邮ctf-web的writeup
WEB 签到题 nctf{flag_admiaanaaaaaaaaaaa} ctrl+u或右键查看源代码即可.在CTF比赛中,代码注释.页面隐藏元素.超链接指向的其他页面.HTTP响应头部都可能隐藏f ...
- 南邮 CTF平台部分 write up
#南邮 CTF部分 write up CG-CTF 2018.7 Welcome to http://aiqg.vip/ web md5 collision 看源代码 <?php $md51 = ...
- mysql 南邮ctf_南邮ctf之web之wp
下面是所有现在可以做的web题的wp! 建议使用CTRL+F查找所需题目,我都有标注!这样方便! 1.签到题 直接查看源码即可 2.md5 collision 解读代码: $md51 = md5('Q ...
- 南邮CTF密码学write up
南邮CTF练习平台网址: http://ctf.nuptzj.cn/challenges# 1.esay! base64解密不解释 nctf{this_is_base64_encode} 2.KeyB ...
- ctf wav文件头损坏_【CTF入门第二篇】南邮CTF web题目总结
这几天写了南邮的web题目,都比较基础,但是对我这个小白来说还是收获蛮大的.可以借此总结一下web题的类型 一,信息都藏在哪 作为ctf题目,肯定是要有些提示的,这些提示有时会在题目介绍里说有时也会隐 ...
- 南邮CTF--bypass again
南邮CTF--bypass again 提示:依旧弱类型,来源hctf 解析: 源代码: if (isset($_GET['a']) and isset($_GET['b'])) { if ($_G ...
- 南邮CG-CTF—杂项Misc writeup
南邮CG-CTF-杂项Misc writeup Coding Gay 丘比龙De女神 知识点:文件MD5 Remove Boyfriend MD5 图种 注意!! 南邮CG-CTF链接 Coding ...
- 南邮CTF web题目总结
这几天写了南邮的web题目,都比较基础,但是对我这个小白来说还是收获蛮大的.可以借此总结一下web题的类型 一,信息都藏在哪 作为ctf题目,肯定是要有些提示的,这些提示有时会在题目介绍里说有时也会隐 ...
- “亚信科技杯”南邮第七届大学生程序设计竞赛之网络预赛 (K L题解)
"亚信科技杯"南邮第七届大学生程序设计竞赛之网络预赛 (K L题解) 第一次出题,果然背锅了,L题由于数据问题,让两种不对的方法ac了,分别是:H<0时取前一天送上花(应该是 ...
最新文章
- HYSBZ 1503 郁闷的出纳员 伸展树
- PXE启动芯片出错代码表、初始化/引导/载入Bootstrap错误代码
- 调整[0,x)区间上出现的概率
- python正则匹配找到所有的浮点数_Python随笔17:Python正则表达式基础(4):贪婪匹配和最小匹配...
- 卷积码主要是对抗_【零基础学会LTE】【3】LTE 36.212 咬尾卷积码详解
- 做游戏,学编程(C语言) 1 实现弹跳小球
- Android OpenGL ES 开发教程(16):Viewing和Modeling(MODELVIEW) 变换
- mysql client 升级_解决consider upgrading MySQL client问题
- SystemCenter2012SP1实践(2)部署证书服务器
- UDK安装和编译UEFI程序
- Visual Studio GUI应用程序_弹出控制台窗口/命令行窗口/dos窗口问题解决
- SQL2008用户sa登录失败(错误18456)解决方法
- python 视频 添加字幕_爱剪辑加字幕之经验及Python程序批量加字幕
- Python3学习笔记十三
- Android左右声道切换流程
- 现代循环神经网络 - 机器翻译与数据集
- C++复习炒剩饭(1)心一意
- Pytorch 3D卷积
- 银河麒麟高级服务器v10 sp2 下fpm工具打包rpm
- STC89C52定时器的简介
热门文章
- 今天聊:做好前端的 10 个习惯
- UI设计为什么要使用Figma?
- 函数节流你应该知道的那点事
- 2020年前端最火的技术是什么?
- 学习前端开发,可提高Web开发效率的15类工具
- 传感器工作原理_荧光氧气传感器工作原理简介
- 拉普拉斯定理_拉普拉斯妖:通晓宇宙一切,深知过去未来,最终被量子力学终结!...
- php 类自动执行,php类中的魔术方法及类的自动加载
- 清空div中的内容而不刷新整个页面_Vue中的$nextTick机制
- nginx php 扩展,源码安装Nginx+PHP-FPM及扩展