Loading

百度杯_Code

Code

题目内容:

考脑洞,你能过么?

加载进页面只有一个图片,检查url发现大概率是个文件包含。

img

直接把index.php放到参数后,访问发现存在一个加载错误的图片,查看源代码会发现是Base64编码的链接。

img

解码过后会发现是index.php的代码,然后进行代码审计。

img

其中的正则是将file中的非a-zA-Z0-9都变成空,然后将config匹配为_,然后包含file赋值给txt,最后输出。
这时候我们不知道flag文件在哪,再加上Can you find the flag file?这句话,说明flag可能就藏在哪里。刚才扫目录发现的./idea(.idea文件夹 .idea存放项目的配置信息,包括历史记录,版本控制信息等)等一系列的配置文件,结合代码中的Created by PhpStorm那么flag可能就在idea中,访问/.idea/workspace.xml果然发现了flag文件的名字。

img

那么结合刚才的代码审计我们可以构造payload:?jpg= ,因为_会被直接过滤掉,而config又会被替换成_。访问过后发现还是一个img标签,src里面包含这个base64编码,解码过后发现还是一个代码审计。

img

<?php
/**
 * Created by PhpStorm.
 * Date: 2015/11/16
 * Time: 1:31
 */
error_reporting(E_ALL || ~E_NOTICE);
include('config.php');
function random($length, $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz') {
    $hash = '';
    $max = strlen($chars) - 1;
    for($i = 0; $i < $length; $i++)	{
        $hash .= $chars[mt_rand(0, $max)];
    }
    return $hash;
}

function encrypt($txt,$key){
    for($i=0;$i<strlen($txt);$i++){
        $tmp .= chr(ord($txt[$i])+10);
    }
    $txt = $tmp;
    $rnd=random(4);
    $key=md5($rnd.$key);
    $s=0;
    for($i=0;$i<strlen($txt);$i++){
        if($s == 32) $s = 0;
        $ttmp .= $txt[$i] ^ $key[++$s];
    }
    return base64_encode($rnd.$ttmp);
}
function decrypt($txt,$key){
    $txt=base64_decode($txt);
    $rnd = substr($txt,0,4);
    $txt = substr($txt,4);
    $key=md5($rnd.$key);

    $s=0;
    for($i=0;$i<strlen($txt);$i++){
        if($s == 32) $s = 0;
        $tmp .= $txt[$i]^$key[++$s];
    }
    for($i=0;$i<strlen($tmp);$i++){
        $tmp1 .= chr(ord($tmp[$i])-10);
    }
    return $tmp1;
}
$username = decrypt($_COOKIE['user'],$key);
if ($username == 'system'){
    echo $flag;
}else{
    setcookie('user',encrypt('guest',$key));
    echo "╮(╯▽╰)╭";
}
?>

这里是有关加解密的代码,就是当我们访问http://eci-2ze76po4leyst90klq4m.cloudeci1.ichunqiu.com/fl3g_ichuqiu.php``是会在cookie中加上一个user,这里的user参数是加密过得,就是上面的decrypt函数,如果看不懂可以参考https://blog.csdn.net/rfrder/article/details/108542365`或者是其他的解题。

posted @ 2023-05-13 15:56  qianyuzz  阅读(37)  评论(0)    收藏  举报