大商创开源代码揭秘:数据库与代码后门深度解析
在探讨大商创平台的后门问题时,我们注意到其开源代码中存在一种潜在的安全漏洞。在数据库表dsc_shop_config中,有一个特定的code值为"certi"的记录,这被识别为大商创的后门入口点。这个后门允许官方通过特定URL对用户系统进行监控和数据收集。 代码中的关键部分如下: ```php $httpData = array( 'domain' => $ecs->get_domain(), 'url' => urldecode($shop_url), // ...其他系统信息,包括但不限于商店名称、标题、描述、关键词、地理位置、联系方式等 ); $Http = new Http(); $Http->doPost($_CFG['certi'], $httpData); write_static_cache('seller_goods_str', $httpData); ``` 这段代码显示,每当执行某些操作时,它会构造一个HTTP POST请求到`$_CFG['certi']`指定的URL,并将包含系统详细信息的数据发送过去。这实际上是一个数据上报功能,可能是为了系统维护或统计目的,但如果不加限制地开放,就可能被滥用,成为后门通道。 值得注意的是,官方似乎并未对这个功能设置严格的访问控制,使得攻击者有机会利用这个接口获取用户的敏感数据。这种设计虽然可能在官方监控需求上提供了便利,但也给安全性带来了隐患。为了保护用户隐私和系统安全,建议用户在使用大商创时检查并限制此类接口的访问权限,或者至少加密敏感信息,确保数据传输的安全性。 同时,开发者应该意识到,开源软件可能存在潜在的安全风险,特别是在没有充分理解其内部工作原理和可能存在的漏洞的情况下。因此,对开源项目进行安全审计和定期更新至关重要。如果大商创确实需要监控系统,应提供安全的API或加密机制,以遵循最佳实践,避免未经授权的访问。 大商创的这个后门事件提醒开发者和用户在使用开源代码时,必须保持警惕,关注潜在的安全问题,并及时采取相应的防护措施。对于商业应用来说,购买正版并确保服务提供商提供的安全性是至关重要的。
1、数据库表dsc_shop_config 中,code值为certi的记录。我们发现这就是大商创的后门地址了,那我们去代码中看看,大商创是怎么利用的这个地址的吧,我们全局搜索一下。
搜索关键词:write_static_cache('seller_goods_str', $httpData);
搜索结果:$httpData = array('domain' => $ecs->get_domain(), 'url' => urldecode($shop_url), 'shop_name' => $_CFG['shop_name'], 'shop_title' => $_CFG['shop_title'], 'shop_desc' => $_CFG['shop_desc'], 'shop_keywords' => $_CFG['shop_keywords'], 'country' => $shop_country, 'province' => $shop_province, 'city' => $shop_city, 'address' => $shop_address, 'qq' => $qq, 'ww' => $ww, 'ym' => $service_phone, 'msn' => $_CFG['msn'], 'email' => $service_email, 'phone' => $_CFG['sms_shop_mobile'], 'icp' => $_CFG['icp_number'], 'version' => VERSION, 'release' => RELEASE, 'language' => $_CFG['lang'], 'php_ver' => PHP_VERSION, 'mysql_ver' => $db->version(), 'charset' => EC_CHARSET);
$Http = new Http();
$Http->doPost($_CFG['certi'], $httpData);
write_static_cache('seller_goods_str', $httpData);
好吧,我们可以搜索出N条这样的记录。官方基本上拿到了我们系统的所有信息了,我们把$Http = new Http();$Http->doPost($_CFG['certi'], $httpData);这段代码去掉,那么请求就失效了吧,但是!!!
2、既然certi是官方的地址,那么我们把它改了不更好吗,好了我们把修改成一个无关紧要的地址。但是刷新后,我们发现地址居然又变回之前的地址了。好吧,我们认为代码中应该是更新了这条记录。我们开始全局搜索吧。
搜索词为:http://ecshop.ecmoban.com/dsc.php;
搜索结果: $certi_url = 'http://ecshop.ecmoban.com/dsc.php';
if (empty($arr['certi']) || $arr['certi'] != $certi_url) {
$sql = 'UPDATE ' . $GLOBALS['ecs']->table('shop_config') . (' SET value = \'' . $certi_url . '\' WHERE code = \'certi\'');
$row = $GLOBALS['db']->query($sql);
}
----------------------------------------------------------------------------------------------------------------
$certi_url = $GLOBALS['db']->getOne('SELECT value FROM ' . $GLOBALS['ecs']->table('shop_config') . ' WHERE code = \'certi\'');
$certi_size = 'http://ecshop.ecmoban.com/dsc.php';
if (empty($certi_url) || $certi_url != $certi_size) {
$sql = 'UPDATE ' . $GLOBALS['ecs']->table('shop_config') . (' SET value = \'' . $certi_size . '\' WHERE code = \'certi\'');
$row = $GLOBALS['db']->query($sql);
下载后可阅读完整内容,剩余2页未读,立即下载
- 粉丝: 4
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦