Description:
http://123.206.87.240:8002/web16/
听说备份是个好习惯
Solution:
打开网页获得一段密文
d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427e
不过现在没啥用,仔细看可以看出来是两个相同的MD5密文
d41d8cd98f00b204e9800998ecf8427e
题目说是要找备份文件,即*.bak文件
用SourceLeakHacker来搜索一下(下载网址:https://coding.net/u/yihangwang/p/SourceLeakHacker/git?public=true)可以看到该URL有连接显示:123.206.87.240:8002/web16/index.php.bak
下载后将其打开可以看到备份的php文件内容<?php /** * Created by PhpStorm. * User: Norse * Date: 2017/8/6 * Time: 20:22 */ include_once "flag.php"; ini_set("display_errors", 0); $str = strstr($_SERVER['REQUEST_URI'], '?'); $str = substr($str,1); $str = str_replace('key','',$str); parse_str($str); echo md5($key1); echo md5($key2); if(md5($key1) == md5($key2) && $key1 !== $key2){ echo $flag."鍙栧緱flag"; } ?>
可知这是常见的md5值绕过题,利用数组就行了,md5函数无法处理数组,结果都会返回NULL得到flag
1.str_replace
把字符串 “Hello world!” 中的字符 “world” 替换成 “Peter”:str_replace("world","Peter","Hello world!");
2.parse_str()
把查询字符串解析到变量中:parse_str("name=Peter&age=43"); echo $name.<br>; echo $age;
Flag:
Bugku{OH_YOU_FIND_MY_MOMY}