网站地图    收藏   

主页 > 后端 > 网站安全 >

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

来源:自学PHP网    时间:2015-04-16 23:15 作者: 阅读:

[导读] 条件一:需要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 'document.getElementById(\'status_'.$appid.'\').innerHTML = "<img src=\'images/correct.gif\' border=\'0\' class=\'statimg\' \/><span class=\'green\'>'.$this->lang['app_connent_ok'].'</span>";testlink();';

} else {

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

}



}


 

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

修复方案:
对值过滤

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论