跳至主要内容

PHP程序中的"后门"

像DZ,phpwind,dede等php程序都会在后台提示站长或管理员当前版本是否有漏洞或者是否为最新版本等。 其实这个不足以导致被黑的,现在一般有点常识的,密码都比较复杂,几个数字+几个字母,MD5的话一般很难跑出来.当然有彩虹表的话,另说... 目前流行的程序里,SABLOG,Discuz,DEDECMS都是有这样的后门的.这样的后门官方的真正用意很难说. 为了让用户及时得到最新的补丁,最新的版本是一方面,其他的,随便人家怎么发挥了... 但是这个东西有好的一面,也有坏的一面,一旦官方被黑,后果可想而知,所有的用户就被"批量挂马"了. 现在干脆都给发出来吧.

SABLOG的“后门”

SABLOG在登录BLOG后台,弹出提示框,程序版本有漏洞.每次登陆后台自动检测官方版本跟当前版本对比.嗯.后来找到了.在templates/admin/main.php最后的一部分.删掉如下代码就OK了. <script type="text/javascript"> i=1; var autourl=new Array(); autourl[1] = 'www.sablog.net'; autourl[2] = 'cnc.sablog.net'; function auto(url){ if(i){ i=0; var oHead = document.getElementsByTagName('head').item(0); var oScript= document.createElement("script"); oScript.type = "text/javascript"; oScript.src = "http://"+url+"/update.php?version=$now_version&release=$now_release&hostname=$now_hostname"; oHead.appendChild(oScript); } } function run(){ for(var i=1;i<autourl.length;i++) { document.write("<img src=http://"+autourl+" width=1 height=1 onerror=auto('"+autourl +"')>"); } } run(); </script>

DEDECMS的“后门”

先来个DEDECMS的,标示出来的删掉就行: /include/inc_functions.php function GetNewInfo(){ if(!isset($GLOBALS['__funAdmin'])) require_once(dirname(__FILE__)."/inc/inc_fun_funAdmin.php"); return SpGetNewInfo(); } /include/inc/inc_fun_funAdmin.php function SpGetNewInfo(){ global $cfg_version; $nurl = $_SERVER["HTTP_HOST"]; if( eregi("[a-z-]{1,}.[a-z]{2,}",$nurl) ){ $nurl = urlencode($nurl); } else{ $nurl = "test"; } $gs = "<iframe name='stafrm' src='http://www.dedecms.com/newinfo.php?version=".urlencode($cfg_version)."&formurl=$nurl' frameborder='0' id='stafrm' width='100%' height='50'></iframe>"; return $gs; } dede/index_body.php(其中dede为后台目录) <div class="bodytitle"> <div class="bodytitleleft"></div> <div class="bodytitletxt">DedeCms最新消息</div> </div> <table width="96%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr><form name="uploadspider" action="upload_spider.php" method="post"> <td height="80" class="main_dnews"> <?php echo GetNewInfo()?> </td> </form> </tr> </table>

DZ的“后门”

再把DZ的"后门"发出来吧.adminglobal.func.php里面查找"function cpfooter",替换成如下的function: function cpfooter() { global $version, $adminid, $db, $tablepre, $action, $bbname, $charset, $timestamp, $isfounder, $insenz; global $_COOKIE, $_SESSION, $_DCOOKIE, $_DCACHE, $_DSESSION, $_DCACHE, $_DPLUGIN, $sqldebug, $debuginfo; $infmessage = ''; ?> <?=$infmessage?> <?php echo $sqldebug;?> </div> </body> </html> <?php updatesession(); } 这个文件中还有一个function,没必要的,可以去掉: function bbsinformation() { global $db, $timestamp, $tablepre, $charset, $bbname, $_SERVER, $siteuniqueid, $save_mastermobile; $update = array('uniqueid' => $siteuniqueid, 'version' => DISCUZ_VERSION, 'release' => DISCUZ_RELEASE, 'php' => PHP_VERSION, 'mysql' => $db->version(), 'charset' => $charset, 'bbname' => $bbname, 'mastermobile' => $save_mastermobile); $updatetime = @filemtime(DISCUZ_ROOT.'./forumdata/updatetime.lock'); if(emptyempty($updatetime) || ($timestamp - $updatetime > 3600 * 4)) { @touch(DISCUZ_ROOT.'./forumdata/updatetime.lock'); $update['members'] = $db->result_first("SELECT COUNT(*) FROM {$tablepre}members"); $update['threads'] = $db->result_first("SELECT COUNT(*) FROM {$tablepre}threads"); $update['posts'] = $db->result_first("SELECT COUNT(*) FROM {$tablepre}posts"); $query = $db->query("SELECT special, count(*) AS spcount FROM {$tablepre}threads GROUP BY special"); while($thread = $db->fetch_array($query)) { $thread['special'] = intval($thread['special']); $update['spt_'.$thread['special']] = $thread['spcount']; } } $data = ''; foreach($update as $key => $value) { $data .= $key.'='.rawurlencode($value).'&'; } return 'update='.rawurlencode(base64_encode($data)).'&md5hash='.substr(md5($_SERVER['HTTP_USER_AGENT'].implode('', $update).$timestamp), 8, 8).'&timestamp='.$timestamp; } 还有admin/home.inc.php,大概193~196行(DZ6.1.0 UTF-8官方原版),这里: showtablerow('', array('class="vtop td24 lineheight"', 'class="lineheight smallfont"'), array( lang('home_discuz_version'), 'Discuz! '.DISCUZ_VERSION.' Release '.DISCUZ_RELEASE.' <a href="http://www.discuz.net/forumdisplay.php?fid=10" class="lightlink smallfont" target="_blank">'.lang('home_check_newversion').'</a> ' )); 虽然说这里没有直接与官方进行通信,但是,,,我看着不爽,想打补丁自己常去官方看就是了.还有所有文件名中包含insenz的文件,用不着的话就直接删除.没什么用.

警告提示

修改须谨慎,修改之后你将不会得到官方的任何更新信息! PHP程序中的后门:http://wiki.clin003.com/wiki/PHP%E7%A8%8B%E5%BA%8F%E4%B8%AD%E7%9A%84%E5%90%8E%E9%97%A8

评论

此博客中的热门博文

20个免费的SEO网站分析工具

  在开发和维护网站的过程中, 网站分析 将对网站的前途起到非常重大的作用。今天暴风彬彬为大家收集了20个用来对自己的网站进行分析的资源或工具,而且它们几乎不用注册甚至下载就可以使用哦。有些可以说是 SEO 必不可少的工具!还等什么,快往下看…   下面要介绍的这20个工具,有些能对你提交的网站进行详尽的分析并作出详细的分析报告,甚至提示如何解决网站存在的一些问题,以达到优化效果;有些工具只是提供一个大体的分析。我相信其中大部分都会对你的SEO工作有所帮助,而且会是你的网站维护起来更有意思 :-D  译者注:您还可以参考以下网站优化相关文章: 《 浅谈网站用户体验UX与SEO的关系 》 《 推荐两个SEO辅助搜索工具 》 《 Google 评价 blog 的指标 》  《 Google 网页排名背后的技术 》  1. Website Grader   Website Grader是我平常比较喜欢使用 SEO分析工具 ,因为它分析得很全面,可用性也很高。通过Website Grader你将得到一个关于你提交的网站的非常详尽的分析报告,报告涉及到了网站的各个部分,比如页面结构、域名信息、标题摘要信息(h1,h2,h3 这些)、Google索引数量和bot最后爬行日期、RSS是否正确、Google/Yahoo/Alexa/MSN上的反向链接数、 Technorati排名、del.icio.us的收藏数、Alexa的排名情况和Google PageRank值。并且还会对提交的网站进行打分及网站出现的问题的修改建议。通常Website Grader所提出来的修改建议是很有价值的,而且能详细的致命问题出在哪,如何才能解决这样的问题。   2. Trifecta   Trifecta是这20个 SEO工具 中比较独特的一个,它以不同的标准分析一个网页、一个博客甚至一个顶级域名下的整个网站,他最终会为你提交的网站总结大致的分数及报告。如果不是会员的话每天可以申请一份分析报告。 3. Spider Simulator   这个分析工具会对你提交的网站进行相对于搜索引擎友好度的分析,并对提交的网站进行评分。主要的评分标准是Meta标签的使用、网页的标题、图片和Alt属性、网站响应时间和链接。 4

俄罗斯政治改革:走出经济阵痛,宪政日益成熟

2009-07-28 14:43:54 来源: 网易历史    俄罗斯的人民宁愿忍受改革的阵痛,也坚持政治改革,用一次又一次的全民公决和总统选举,表明人民宁愿抛弃什么,需要什么。俄罗斯联邦的领导人深知,加强对公权力的操作和政府官员们的收入和财产的透明度,是反腐倡廉的必要的重要措施,也是反腐败的决心的表现。   本文摘自《勇破坚冰的《未定稿》及其他》 李凌/编著 中国社会科学出版社   俄罗斯联邦改革的阵痛和进步1991年底,苏联解体,俄罗斯联邦是苏联的法定继承国。俄罗斯联邦在上世纪九十年代的政治经济改革中,出现了大规模经济下滑。据官方统计,1996年的国内生产总值(GDP)比1991年下降约50%。   一   但实际产量是否下降了这么多?影响人民生活水平大幅度下降的主要原因是什么?这些需要具体的分析。   1. 在苏联时期,GDP中,包括大量的军工厂的产品、未完成的建设项目和计划经济下的劣质产品(有人估计这些共约占当时GDP的50%-70%)。因此,苏联当时GDP数字虽然很高,但居民生活消费品却很少,商店货架经常空空如也。当时的苏联政府中了美国的诡计,和美国大搞军备竞赛,消耗了大量国家资源。冷战结束后,大部分军工企业被迫停产改造,连带引起一部分重工业、化工业、电子工业也停顿或减产,引起许多工人失业。军工产品特别昂贵,-辆现代化的坦克的产值相当于几十辆汽车,更不要说飞机、导弹和核武器了。这些产业一停产或减产,必然出现整体GDP数字大幅度下降。   2.苏联时代实行的是公有制和计划经济,地方官员和公有制企业的经理们,为了表现自己的政绩得到奖励和提拔,往往夸大产量,所报的数字有很大的水分。实行私有制后,私营企业主为了减少或偷漏税负,所报产量往往少于实际。   3.苏联解体后,地下经济迅速发展,不算入官方公布的GDP数字之内,但对居民的生活有很大的影响。有人估计,地下经济约为当时官方公布的GDP一半以上,实际如何,无法统计。   但必须承认,在经济改革中,主要由于俄罗斯联邦政府的某些人接受了西方学者的馊主意,1992年起实行所谓"休克疗法",物价一下子完全放开,在当时商品严重短缺的情况下,引起物价数十倍地迅速飙升,这才是人民生活水平大幅度下降的主要原因,而不是由于某些人所喋喋不休地宣传的政治改革。   二