首页 > 安全 > 网站安全 >

Discuz UC_Server 本地文件包含漏洞(有条件限制)

2014-07-02

条件一:需要UC管理员权限。条件二:前台可上传带有PHP代码的可控文件。漏洞函数onping在文件uc_server control admin app phpfunction onping() {$ip = getgpc(& 39;ip& 39;);$url = getgpc(& 39;url& 39

条件一:
需要UC管理员权限。
条件二:
前台可上传带有PHP代码的可控文件。
漏洞函数onping在文件uc_server\control\admin\app.php
function onping() {

$ip = getgpc('ip');

$url = getgpc('url');

$appid = intval(getgpc('appid'));

$app = $_ENV['app']->get_app_by_appid($appid);

$status = '';

if($app['extra']['apppath'] && @include $app['extra']['apppath'].'./api/'.$app['apifilename']) {

$uc_note = new uc_note();

$status = $uc_note->test($note['getdata'], $note['postdata']);

} else {

$this->load('note');

$url = $_ENV['note']->get_url_code('test', '', $appid);

$status = $_ENV['app']->test_api($url, $ip);

}

if($status == '1') {

echo &#39;document.getElementById(\&#39;status_&#39;.$appid.&#39;\&#39;).innerHTML = "<img src=\&#39;images/correct.gif\&#39; border=\&#39;0\&#39; class=\&#39;statimg\&#39; \/><span class=\&#39;green\&#39;>&#39;.$this->lang[&#39;app_connent_ok&#39;].&#39;</span>";testlink();&#39;;

} else {

echo &#39;document.getElementById(\&#39;status_&#39;.$appid.&#39;\&#39;).innerHTML = "<img src=\&#39;images/error.gif\&#39; border=\&#39;0\&#39; class=\&#39;statimg\&#39; \/><span class=\&#39;red\&#39;>&#39;.$this->lang[&#39;app_connent_false&#39;].&#39;</span>";testlink();&#39;;

}



}


其中的变量$app[&#39;extra&#39;][&#39;apppath&#39;]和$app[&#39;apifilename&#39;]是从
这两栏读过来的 修改其中的值就可以了

修复方案:
对值过滤
相关文章
最新文章
热点推荐