一道 PHP 安全题,大家来玩坏他

2015-10-17 19:31:53 +08:00
 ty0716

要求输出$flag,实在没看出是什么鬼。大神勿喷

传送门:http://202.120.7.133:8888/collision.php

<?php
//just break the md5 algorithm and make a collision ;)
include('config.php');
if(empty($_GET['md5'])) die(show_source(__FILE__));
if($_GET['md5']!='400035577431' && md5($_GET['md5']) == md5('400035577431')) echo $flag;
?>
1
5295 次点击
所在节点    PHP
24 条回复
menc
2015-10-17 19:51:29 +08:00
人家说的不是很明白要给出 400035577431 的一个 md5 碰撞么
virusdefender
2015-10-17 20:08:14 +08:00
php 弱类型吧,想办法绕过$_GET['md5']!='400035577431'
raincious
2015-10-17 20:11:11 +08:00
http://202.120.7.133:8888/collision.php?md5=QNKCDZO

看到了==比较符号猛然想到了这个帖子
https://www.v2ex.com/t/188364
zk8802
2015-10-17 20:12:56 +08:00
注意 == 和 === 在 PHP 中的区别。
newliu6
2015-10-17 20:21:12 +08:00
ISG{not_OnlY_mD5_c0llisi0N_bUt_aLs0_proBl3m}
POP
2015-10-17 20:30:47 +08:00
@newliu6 你快把别人玩坏了。。。。。
MrZephyrus
2015-10-17 21:15:59 +08:00
竟然在这儿问 ISG 的题...
Scholer
2015-10-17 22:03:12 +08:00
240610708
ty0716
2015-10-17 22:34:51 +08:00
@Scholer 这个是怎么计算出来的?
wsy2220
2015-10-17 22:38:04 +08:00
看 ip 好熟悉,一查果然是交大的~
ty0716
2015-10-17 22:38:04 +08:00
@raincious 又更新了个,来围观下
Scholer
2015-10-17 22:40:32 +08:00
@ty0716 0e123 之类的字符串在 使用 == 判断时会被认为是 科学计数法表示的小数,直接转换为 0 。
Scholer
2015-10-17 22:41:58 +08:00
@ty0716 这个之前发过好多了

类似的还有
QNKCDZO
aabg7XSs
aabC9RqS
rannnn
2015-10-17 23:03:33 +08:00
@MrZephyrus ISG 是什么?
xjx0524
2015-10-17 23:36:55 +08:00
刚去注册了下,登陆那个答题系统一直密码错误,难道这就开始是题目了?
wusuopuBUPT
2015-10-17 23:55:07 +08:00
MrZephyrus
2015-10-17 23:58:27 +08:00
softbug
2015-10-18 11:30:10 +08:00
很想知道第二题 有悖常理啊
raincious
2015-10-18 14:04:52 +08:00
@ty0716

第二题比较难。我需要研究下 PHP 的源代码才能确定问题(如果问题真的存在的话)。
xiaoks
2015-10-18 22:45:22 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/228831

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX