T00ls庆五一礼物之一:Ucenter Home SQL Injection 【GPC=OFF】
苦逼的屌丝祝土司各位黑客五一节快乐啊, 玩的开心!
最近实在太累太忙, 稍微闲下来就读了下, 程序整体还是比较安全的, 反正我等小菜是没读到GETSHELL什么的
先炒个冷饭吧, 11年alibaba大牛发的注射至今未补, 康盛估计是不管这程序了 - -
SQL Injection 1:贴上alibaba的帖子:https://www.t00ls.com/viewthread.php?tid=14523
那个帖子里alibaba大牛已经说的很清楚了, 程序只过滤了VALUE, 没过滤KEY, 所以GPC=OFF的情况下可以秒
和ECSHOP的一些注射一样, 你们懂的 - -
SQL Injection 2:
通读了一遍, 除了上面那个冷饭以外还有一个地方对KEY也没做处理, 导致注射:看看simplode函数吧~测试图:
上个EXP吧:
注意必须要先登录并且找到formhash, 登陆后源码里面就能找到
谢谢二楼补充的, 说明下. 低版本的康盛程序搞到uckey都能getshell(包括ucenter home全版本)
uckey存放在uc数据库的uc_applications表下的authkey字段 详情参考http://www.oldjun.com/blog/index.php/archives/76/
最近实在太累太忙, 稍微闲下来就读了下, 程序整体还是比较安全的, 反正我等小菜是没读到GETSHELL什么的
先炒个冷饭吧, 11年alibaba大牛发的注射至今未补, 康盛估计是不管这程序了 - -
SQL Injection 1:
<?php // \source\cp_profile.php
.......省略.......
//性别
$_POST['sex'] = intval($_POST['sex']);
if($_POST['sex'] && empty($space['sex'])) $setarr['sex'] = $_POST['sex'];
foreach ($profilefields as $field => $value) {
if($value['formtype'] == 'select') $value['maxsize'] = 255;
$setarr['field_'.$field] = getstr($_POST['field_'.$field], $value['maxsize'], 1, 1);
if($value['required'] && empty($setarr['field_'.$field])) {
showmessage('field_required', '', 1, array($value['title']));
}
}
updatetable('spacefield', $setarr, array('uid'=>$_SGLOBAL['supe_uid']));
//隐私
$inserts = array();
foreach ($_POST['friend'] as $key => $value) {
$value = intval($value);
$inserts[] = "('base','$key','$space[uid]','$value')"; //这是要干嘛? key没过滤 11年至今未修复
}
if($inserts) {
$_SGLOBAL['db']->query("DELETE FROM ".tname('spaceinfo')." WHERE uid='$space[uid]' AND type='base'");
$_SGLOBAL['db']->query("INSERT INTO ".tname('spaceinfo')." (type,subtype,uid,friend)
VALUES ".implode(',', $inserts)); //带入了 不解释...
}
那个帖子里alibaba大牛已经说的很清楚了, 程序只过滤了VALUE, 没过滤KEY, 所以GPC=OFF的情况下可以秒
和ECSHOP的一些注射一样, 你们懂的 - -
SQL Injection 2:
通读了一遍, 除了上面那个冷饭以外还有一个地方对KEY也没做处理, 导致注射:
<?php // \source\cp_privacy.php
.......省略.......
} elseif(submitcheck('privacy2submit')) {
//类型筛选
$space['privacy']['filter_icon'] = array();
foreach ($_POST['privacy']['filter_icon'] as $key => $value) {
$space['privacy']['filter_icon'][$key] = 1;
}
//用户组设置
$space['privacy']['filter_gid'] = array();
foreach ($_POST['privacy']['filter_gid'] as $key => $value) {
$space['privacy']['filter_gid'][$key] = intval($value);
}
//通知筛选
$space['privacy']['filter_note'] = array();
foreach ($_POST['privacy']['filter_note'] as $key => $value) { //此处开始把key转到$space['privacy']['filter_note'][$key]
$space['privacy']['filter_note'][$key] = 1;
}
privacy_update();
//更新好友缓存
friend_cache($_SGLOBAL['supe_uid']);
showmessage('do_success', 'cp.php?ac=privacy&op=view');
}
if($_GET['op'] == 'view') {
//好友组
$groups = getfriendgroup();
//屏蔽
$filter_icons = empty($space['privacy']['filter_icon'])?array():$space['privacy']['filter_icon']; //赋值到$filter_icons
$filter_note = empty($space['privacy']['filter_note'])?array():$space['privacy']['filter_note'];
$iconnames = $appids = $icons = $uids = $users = array();
.......省略65536.......
foreach ($filter_icons as $key => $value) {
list($icon, $uid) = explode('|', $key); //使用|分割 将key赋值到$uid 并未做任何过滤
$icons[$key] = $icon;
$uids[$key] = $uid; //此处写进$uids也没过滤
if(is_numeric($icon)) {
$appids[$key] = $icon;
}
}
if($uids) {
$query = $_SGLOBAL['db']->query("SELECT uid, username FROM ".tname('space')." WHERE uid IN (".simplode($uids).")"); //射了射了射了射了射了射了射了射了射了射了射了射了射了射了射了射了
$_SGLOBAL['db']->fetch_array($query);
while ($value = $_SGLOBAL['db']->fetch_array($query)) {
$users[$value['uid']] = $value['username'];
}
}
//获取应用名称
if($appids) {
$query = $_SGLOBAL['db']->query("SELECT appid, appname FROM ".tname('myapp')." WHERE appid IN (".simplode($appids).")");
while ($value = $_SGLOBAL['db']->fetch_array($query)) {
$iconnames[$value['appid']] = $value['appname'];
}
}
$cat_actives = array('view' => ' class="active"');
}
function simplode($ids) {
return "'".implode("','", $ids)."'"; //虽然有单引号, 但是程序并没有过滤post过去的KEY值, 所以在GPC=OFF的情况下可射.
}
上个EXP吧:
注意必须要先登录并且找到formhash, 登陆后源码里面就能找到
谢谢二楼补充的, 说明下. 低版本的康盛程序搞到uckey都能getshell(包括ucenter home全版本)
uckey存放在uc数据库的uc_applications表下的authkey字段 详情参考http://www.oldjun.com/blog/index.php/archives/76/
评论101次
支持。
大牛发的工具很给力,收藏额
苏菲
不是 通杀的 UC 基本不管了
开心的收下了!!!怎么利用呢?
最喜欢过节了
官方出补丁了么?
程序貌似已经不多见了,还需要条件。只有收藏了。
处女回帖 送你了
正好遇到 收藏了先
支持啊~!
鄙视你啊。。。。。竟然骗我,说了给我就是不给鄙视鄙视
貌似蛮鸡肋的~
ucenter home 没开gpc的略少啊..
漏洞无处不在啊,又少了一个Xday~
又是洞子啊 好东西
Rs 我来顶你了。
通读是什么意思。。。。。。。。。。。
米饭大牛又来送礼物了。。
大牛 给力啊 强大了!!