都知道,mvc的话 除了根目录还有public目录可以访问,其他的访问都是不行的,因为会默认都是会解析url
然后我们来看今天的猪脚
大概的图片上传还有远程文件加载我黑盒测过了 就是想捞一个快一点的漏洞
让我注意到的一个地方
模板风格 也就是意味着我们可以对模板进行修改,我们试试
很可以 都是php文件 但是呢
这些文件都在
3
是在视图文件下 我们是无法访问的
那么 我们有什么办法呢
没错 路径可控
来看看代码吧
public function edit(){
$data=$this->input->post();
if(!empty($data)){//写入文件信息
$style = isset($data['info']['style']) && trim($data['info']['style']) ? trim($data['info']['style']) : '';
$file = isset($data['info']['file']) && trim($data['info']['file']) ? trim($data['info']['file']) : '';
if($style=='css'){
$dir="../skin/css/".$file;
}elseif($style=='template'){
$dir="../application/views/".$file;
}
if(write_file($dir, $data['info']['content'])){
$this->message('修改成功!',site_url($this->router->class.'/edit?style='.$style.'&file='.$file));
}else{
$this->message('修改失败 !请检查文件权限'.$dir,site_url($this->router->class.'/edit?style='.$style.'&file='.$file));
}
可以看到 post的参数我们都是可控
也就是意味着$file这个参数我们能控制住
so
getshell