Easytalk任意文件包含漏洞下载
-
来源:黑吧安全网 浏览:1104次 时间:2014-04-30
在appaction.class.php中
<pre><code>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;
}
//是否添加</code></pre>
//获取内容
<pre><code>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;
}
}</code></pre>
if (@file_exists(ET_ROOT .'/Apps/'.$appname.'/index.class.php'))
需要满足这个 让$appname 为baseexp
然后$out可控。则可以包含了。
