大商创的开源代码中有很多后门,以方便官方监控系统的使用,官方做的真是无孔不入啊,我找到了下面几种。

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);

}

我这里搜到了两处,这不就是直接更新了certi这条记录了嘛,我们把它去掉。

3、既然certi这个地址是官方的授权信息,那我们是不是可以直接去掉呢,好!我们去掉他吧!但是这样官方也是有办法的,这个后门做的,很不好找到的。

搜素关键词:cat_goods_config 或者 aHR0cDovL2Vjc2hvcC5lY21vYmFuLmNvbS9kc2MucGhw

搜素结果:

$cer_url = $GLOBALS['db']->getOne('SELECT value FROM ' . $GLOBALS['ecs']->table('shop_config') . ' WHERE code = \'certi\'');

$post_type = 0;

if (strpos($section, $cp_str) !== false) {

$post_type = 1;

}

if (empty($cer_url) && $post_type != 1) {

$post_type = 2;

}

if (empty($cer_url)) {

if (file_exists(ROOT_PATH . 'temp/static_caches/cat_goods_config.php')) {

require ROOT_PATH . 'temp/static_caches/cat_goods_config.php';

}

else {

$shop_url = urlencode($GLOBALS['ecs']->url());

$shop_country = $GLOBALS['db']->getOne('SELECT region_name FROM ' . $GLOBALS['ecs']->table('region') . ' WHERE region_id=\'' . $GLOBALS['_CFG']['shop_country'] . '\'');

$shop_province = $GLOBALS['db']->getOne('SELECT region_name FROM ' . $GLOBALS['ecs']->table('region') . ' WHERE region_id=\'' . $GLOBALS['_CFG']['shop_province'] . '\'');

$shop_city = $GLOBALS['db']->getOne('SELECT region_name FROM ' . $GLOBALS['ecs']->table('region') . ' WHERE region_id=\'' . $GLOBALS['_CFG']['shop_city'] . '\'');

$url_data = array('domain' => $GLOBALS['ecs']->get_domain(), 'url' => urldecode($shop_url), 'shop_name' => $GLOBALS['_CFG']['shop_name'], 'shop_title' => $GLOBALS['_CFG']['shop_title'], 'shop_desc' => $GLOBALS['_CFG']['shop_desc'], 'shop_keywords' => $GLOBALS['_CFG']['shop_keywords'], 'country' => $shop_country, 'province' => $shop_province, 'city' => $shop_city, 'address' => $GLOBALS['_CFG']['shop_address'], 'qq' => $GLOBALS['_CFG']['qq'], 'ww' => $GLOBALS['_CFG']['ww'], 'ym' => $GLOBALS['_CFG']['service_phone'], 'msn' => $GLOBALS['_CFG']['msn'], 'email' => $GLOBALS['_CFG']['service_email'], 'phone' => $GLOBALS['_CFG']['sms_shop_mobile'], 'icp' => $GLOBALS['_CFG']['icp_number'], 'version' => VERSION, 'release' => RELEASE, 'language' => $GLOBALS['_CFG']['lang'], 'php_ver' => PHP_VERSION, 'mysql_ver' => $GLOBALS['db']->version(), 'charset' => EC_CHARSET, 'post_type' => $post_type);

$cp_url_size = 'base64_decode(\'aHR0cDovL2Vjc2hvcC5lY21vYmFuLmNvbS9kc2MucGhw\')';

$cp_url_size = '$url_http = ' . $cp_url_size . ";\r\n";

$cp_url = $cp_url_size;

$cp_url .= '$purl_http = new Http();' . "\r\n";

$cp_url .= '$purl_http->doPost($url_http, $url_data);';

write_static_cache('cat_goods_config', $cp_url, '/temp/static_caches/', 1, $url_data);

}

}

代码分析:代码最终会生成一个缓存文件,下次请求就直接加载文件了,但是我们发现,这个缓存文件内容就是请求官方地址的,官方将地址base64加密了,aHR0cDovL2Vjc2hvcC5lY21vYmFuLmNvbS9kc2MucGhw,这个就地址的加密后的串,你可以解开看下,就是certi的值啊,就算数据库里没有,我代码中还有加密的呢。(官方好手段!!!!!)那么,我们将这段代码整体删除吧。

4、搜索关键词:http://cloud.ecmoban.com/api.php

搜素结果:$apiget = 'act=ent_sign&ent_id= ' . $ent_id . ' & certificate_id=' . $certificate_id;

$t->request('http://cloud.ecmoban.com/api.php', $apiget);

虽然不知道这块具体的逻辑,但是请求官方地址,那么我们也要拿掉。

大商创去后门eval-stdin.php,大商创的开源代码都有哪些后门,如何去除大商创后门...相关推荐

  1. 跨境电商自建站后台系统原型rp_外贸业务员和跨境电商运营哪个好,跨境电商可以去哪个网站学...

    我做跨境电商也有六年的时间了,在电商这个行业也有自己的一些经验.经验也许没有其他大卖家丰富,但会将我知道的都进行分享.如果有不懂得亚马逊问题可以+我(V:543482465).我这里给大家安排一堂直播 ...

  2. 软件测试人员找工作,去大公司还是去小公司?今天就和大家唠唠

     马云曾经说过,员工离开一个公司无非就两种原因,一个是钱给少了,一个是干的不开心.我觉得非常符合现在IT从业者离开一个公司的心里想法,很多时候我们IT从业者找工作都会给自己定一个目标,比如有的人觉得找 ...

  3. 刚毕业的大学习,去大数据机构培训,工作好找吗?

    大数据开发工程师在一线城市和大数据发展城市的薪资是比较高的,刚毕业的大学习,去大数据机构培训,工作好找吗? 因为我接触到的学生毕业后一般在北京.广东.上海.南京地区就业的居多,所以可能我的概括也有局限 ...

  4. 渭南师范计算机学院男女比例,全国高校男女比例大揭秘!去这些大学怕是要单身四年了...

    原标题:全国高校男女比例大揭秘!去这些大学怕是要单身四年了 希望每天收到我们的文章吗,点上面蓝色文字"语文日刊"关注就可以. 更多初中内容,请关注:初中试题库大(stkuda) 给 ...

  5. IT人的纠结:去大公司还是去小公司?

    对于 IT 人来说,选择到大公司工作的理由可能有:觉得"钱多人傻,干嘛不去?";有人认为 "机会多,有发展"; 也有人被小公司的眉毛胡子一把抓吓怕了. 去大公司 ...

  6. IT 人的纠结:去大公司还是去小公司?

    对于 IT 人来说,选择到大公司工作的理由可能有:觉得"钱多人傻,干嘛不去?";有人认为 "机会多,有发展"; 也有人被小公司的眉毛胡子一把抓吓怕了. 去大公司 ...

  7. python练习 世界这么大,我想去看看

    代码如下: str1=input("请输入一个人的名字:") str2=input("请输入一个国家的名字:") print("世界这么大,{}想去{ ...

  8. [转] 去大公司还是去小公司?做专业性的工作,还是做销售?

    首先要澄清一个流毒广泛的说法:大学毕业第一份工作不重要. 这绝对是极其错误的.它给了大学毕业生一个错误的认识,对相当一部分人造成了无可挽回的损失!大学生就业选择,是对一个人十年内的生活产生重大影响的关 ...

  9. 大学生应不应该大二就去实习, 大学应该去干些什么, 怎么知道自己是否适合竞赛

    目录 谈谈我自己的经历 应不应该大二那么早实习 适合的 不适合的 自己适合竞赛吗? 竞赛可以给自己带来什么? 服务器开发方向要学什么,几乎所有C/C++后端开发方向都必须学什么? 几乎所有C/C++后 ...

最新文章

  1. 5月第3周业务风控关注 |网信办公布整治教育类应用的成果 关闭“作业狗”等20余款应用...
  2. JBPM对象主键生成机制
  3. 是什么使你留在你的公司
  4. mysql jdbc路径,mysql转存数据库后,如何修改jdbc:mysql的路径
  5. C语言中 if 和 else if 的区别
  6. 为什么比尔盖茨,马斯克、霍金都提醒你:要警惕人工智能?(上)
  7. tensorflow教程 开始——数据集:快速了解 tf.data
  8. [C++调试笔记]/* 求解-0.5dt时刻速度 */
  9. hive.ql.exec.DDLTask. MetaException(message:java.io.IOException: Attempt to start meta tracker faile
  10. 在oracle中通过connect by prior来实现递归查询!
  11. 华为交换机 查看IP和MAC对应关系
  12. Github博客地址
  13. UpdatePanel 的 UpdateMode 和 ChildrenAsTriggers(较好的总结了前面几篇博客的内容)
  14. 软件工程 speedsnail 第二次冲刺1次
  15. mysql创建学生信息选课系统_MySQL学生信息管理系统
  16. 有向图的拓补排序算法
  17. 计算机如何引用表格,(Excel如何实现跨文件表引用数据)excel引用其他表格数据路径...
  18. MySQL 数据库和MySQL核心知识总结宝典
  19. linux ps aux tty,linux ps命令中的tty表示什么意思?
  20. win10批量修改文件扩展名

热门文章

  1. 【PAT乙级】1044 火星数字 (20 分)
  2. 一个判断字符是不是10进制数的函数------isdigit()
  3. Freemarker静态化ActiveMQ实现
  4. ActiveMQ中Queue生产者
  5. nmon结果分析工具_Nmon实时监控并生成HTML监控报告
  6. 基于python的视频监控系统_Python远程视频监控程序的实例代码
  7. 【程序人生】这一年 —— 2020
  8. Spring Boot + EasyExcel 导入导出,好用到爆!
  9. 认真看看, 以后写 SQL 就爽多了:MyBatis 动态 SQL
  10. SpringBoot+MyBatis+Shiro 搭建杂谈