本帖最后由 拉普兰德 于 2019-5-1 17:09 编辑
最近一直在苦恼,负责维护的一个网站经常被攻破后台,添加木马代码。无论怎么修改密码,修改后台地址都无用,索性重新整理了下,果真防住了。
分享一下代码
改完后效果为 你的域名/admin.php 进入后会显示 额,这个地址不是谁都可以访问的。
也可以删掉这段代码,则进入空白,什么都不显示
else {
echo "额,这个地址不是谁都可以访问的。" ;
}
正确访问方式为:你的域名/admin.php?type=babamamayeyenainai
修改方法
根目录admin.php内添加一句判断if ($_GET['type'] == 'babamamayeyenainai') babamamayeyenainai可以替换成自己想改的
修改前注意备份,重要事情只说一遍
如下:第17行 和 65 66 67行
- <?php
- /**
- * [Discuz!] (C)2001-2099 Comsenz Inc.
- * This is NOT a freeware, use is subject to license terms
- *
- * $Id: admin.php 34285 2013-12-13 03:39:35Z hypowang $
- */
- define('IN_ADMINCP', TRUE);
- define('NOROBOT', TRUE);
- define('ADMINSCRIPT', basename(__FILE__));
- define('CURSCRIPT', 'admin');
- define('HOOKTYPE', 'hookscript');
- define('APPTYPEID', 0);
- if ($_GET['type'] == 'babamamayeyenainai') {
- require './source/class/class_core.php';
- require './source/function/function_misc.php';
- require './source/function/function_forum.php';
- require './source/function/function_admincp.php';
- require './source/function/function_cache.php';
- $discuz = C::app();
- $discuz->init_cron = false;
- $discuz->init();
- $admincp = new discuz_admincp();
- $admincp->core = & $discuz;
- $admincp->init();
- $admincp_actions_founder = array('templates', 'db', 'founder', 'postsplit', 'threadsplit', 'cloudaddons', 'optimizer');
- $admincp_actions_normal = array('index', 'setting', 'members', 'admingroup', 'usergroups', 'usertag',
- 'forums', 'threadtypes', 'threads', 'moderate', 'attach', 'smilies', 'recyclebin', 'recyclebinpost', 'prune', 'grid',
- 'styles', 'addons', 'plugins', 'tasks', 'magics', 'medals', 'google', 'announce', 'faq', 'ec',
- 'tradelog', 'jswizard', 'project', 'counter', 'misc', 'adv', 'logs', 'tools', 'portalperm', 'blogrecyclebin',
- 'checktools', 'search', 'article', 'block', 'blockstyle', 'blockxml', 'portalcategory', 'blogcategory', 'albumcategory', 'topic', 'credits',
- 'doing', 'group', 'blog', 'feed', 'album', 'pic', 'comment', 'share', 'click', 'specialuser', 'postsplit', 'threadsplit', 'report',
- 'district', 'diytemplate', 'verify', 'nav', 'domain', 'postcomment', 'tag', 'connect', 'card', 'portalpermission', 'collection', 'membersplit', 'makehtml');
- $action = preg_replace('/[^\[A-Za-z0-9_\]]/', '', getgpc('action'));
- $operation = preg_replace('/[^\[A-Za-z0-9_\]]/', '', getgpc('operation'));
- $do = preg_replace('/[^\[A-Za-z0-9_\]]/', '', getgpc('do'));
- $frames = preg_replace('/[^\[A-Za-z0-9_\]]/', '', getgpc('frames'));
- lang('admincp');
- $lang = & $_G['lang']['admincp'];
- $page = max(1, intval(getgpc('page')));
- $isfounder = $admincp->isfounder;
- if(empty($action) || $frames != null) {
- $admincp->show_admincp_main();
- } elseif($action == 'logout') {
- $admincp->do_admin_logout();
- dheader("Location: ./index.php");
- } elseif(in_array($action, $admincp_actions_normal) || ($admincp->isfounder && in_array($action, $admincp_actions_founder))) {
- if($admincp->allow($action, $operation, $do) || $action == 'index') {
- require $admincp->admincpfile($action);
- } else {
- cpheader();
- cpmsg('action_noaccess', '', 'error');
- }
- } else {
- cpheader();
- cpmsg('action_noaccess', '', 'error');
- }
- }else {
- echo "额,这个地址不是谁都可以访问的。" ;
- }
- ?>
复制代码 然后我们修改下后台上面和左边导航的地址,不然不显示管理内容
文件source/function/function_admincp.php
代码无法贴出来 超出长度了
所以上传一份大家下载 可以用批量替换工具替换babamamayeyenainai为自己想要的
不放心的或者想了解具体的朋友可以用文件对比工具对比两个文件可以看到代码构成
|