漏洞作者: ′ 雨。
在appaction.class.php中
[php]
public function index() { parent::tologin(); $appname=trim($this->_get('appname')); $action=$this->_get('action');//直接调用方法 $out=urldecode($_GET['out']); //是否开启应用 $app=M('Plugins')->where("directory='$appname' AND available=1")->find(); $this->assign('app',$app); if (!$app) { $this->display('apperror'); exit; } //是否添加
[/php]
//获取内容
[php]
if (@file_exists(ET_ROOT .'/Apps/'.$appname.'/index.class.php')) { include_once(ET_ROOT .'/Apps/'.$appname.'/index.class.php'); if (class_exists($appname)) { if (!@file_exists(ET_ROOT.'/Apps/'.$appname.'/'.$out)) { $out=''; } if (!$out) { $plugin=new $appname($this); if ($action) { echo $plugin->$action(); exit; } else { if (method_exists($appname,index)) { $content=$plugin->index(); } } } else { include_once(ET_ROOT .'/Apps/'.$appname.'/'.$out);//这里包含了 无语截断。 exit; } }
[/php]
if (@file_exists(ET_ROOT .'/Apps/'.$appname.'/index.class.php'))
需要满足这个 让$appname 为baseexp
然后$out可控。则可以包含了。
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论