Easytalk任意文件包含漏洞

  • A+
所属分类:漏洞时代
摘要

在appaction.class.php中[php][/php]//获取内容[php] [/php] if (@file_exists(ET_ROOT .’/Apps/’.$appname.’/index.class.php’))


漏洞作者: ′ 雨。

在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 ([email protected]_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可控。则可以包含了。

 

Easytalk任意文件包含漏洞

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: