这里的源码
报文
都没有什么问题
开始解析这串代码
d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427e
直接尝试
扎一看啥都没有,但是仔细看就发现这里是重复的
d41d8cd98f00b204e9800998ecf8427e
d41d8cd98f00b204e9800998ecf8427e
尝试其中一段
也不对
怀疑被加密,开始解密
这里明显是一个md5值
但是界出来却是空
开始扫描后台
这里涉及到一个备份文件的知识,备份文件的存在格式一般都是bak或swp
这里扫描到一个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";
}
?>
构建语句
因为这里需要传递两个参数,且最终的识别名为key1和key2
然后经过几项过滤
第一个就是去除变量名中的key三个字符一次
满足上述条件构建变量
?kkeyey1=MMHUWUV&kkeyey2=MAUXXQC
得到flag