未加星标

phpcms v9禁止提交信息到官网方法详解

字体大小 | |
[运维安全 所属分类 运维安全 | 发布者 店小二05 | 时间 | 作者 红领巾 ] 0人收藏点击收藏
phpcmsv9后台登陆时,会向官网http://update.v9.phpcms.cn联网,说是检查更新,实际同时也收集网站以及管理员的用户信息还有登陆者的设备等信息。开始以为去掉后台模板中的相关网址就行了。结果登陆时还是发现会向官网提交信息。于是追了一下。在登陆成功后,会首先显示一个默认页。显示管理员名字,服务器信息等。它是调用modules\admin\index.php中的public_main()方法加载的。

在这个方法中的最后几行代码如下:

$designer = '张二强';
ob_start();
include $this->admin_tpl('main');
$data = ob_get_contents();
ob_end_clean();
system_information($data);
意思是,将内容缓存,然后给$data,再调用system_information处理。

system_information()函数,显然是一个已经加载的类库中的函数,查询后发现它位于modules\admin\functions\admin.func.php文件中。代码如下:

function system_information($data) {
$update = pc_base::load_sys_class('update');
$notice_url = $update->notice();
$string = base64_decode('PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoIiNtYWluX2ZyYW1laWQiKS5yZW1vdmVDbGFzcygiZGlzcGxheSIpOzwvc2NyaXB0PjxkaXYgaWQ9InBocGNtc19ub3RpY2UiPjwvZGl2PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ik5PVElDRV9VUkwiPjwvc2NyaXB0Pg==');
echo $data.str_replace('NOTICE_URL',$notice_url,$string);
}
这里有一个解码来获得字串,我们先解码看看这些字符串是什么。
加个 echo $string 看看。结果浏览器中什么也没有。嗯?明明解码成字符串,为什么什么也没有呢?其实是有的。它是一段‘javascript'字串,所以你在浏览器中看不到。
解码后的内容如下:
<script type="text/javascript">$("#main_frameid").removeClass("display");</script><div id="phpcms_notice"></div><script type="text/javascript" src="NOTICE_URL"></script>
到这里还看不出什么。然后,它将src=”NOTICE_URL”中的NOTICE_URL替换成noticeurl。然后加到已经生成的data数据后面。也就是向$data中加了一段代码。
加的网址从何而来,加的又是什么网址呢?

函数先加载了update类。然后调用了该类的notice()方法。我们跟进类文件libs\classes\update.class.php看看。

function notice() {
return $this->url('notice');
}
function url($action = 'check') {
$modules = '';
$site = getcache('sitelist','commons');
$sitename = $site['1']['name'];
$siturl = $site['1']['domain'];
foreach ($site as $list) $sitelist .= $list['domain'].',';
$pars = array(
'action'=>$action,
'phpcms_username'=>'',
'sitename'=>$sitename,
'siteurl'=>$siturl,
'charset'=>CHARSET,
'version'=>PC_VERSION,
'release'=>PC_RELEASE,
'os'=>PHP_OS,
'php'=>phpversion(),
'mysql'=>$this->db->version(),
'browser'=>urlencode($_SERVER['HTTP_USER_AGENT']),
'username'=>urlencode(param::get_cookie('admin_username')),
'email'=> urlencode(param::get_cookie('admin_email')),
'modules'=>ROUTE_M,
'sitelist'=>urlencode($sitelist),
'uuid'=>urlencode($this->uuid),
);
$data = http_build_query($pars);
$verify = md5($this->uuid);
if($s = $this->module()) {
$p = '&p='.$s;
}
return $this->update_url.'?'.$data.'&verify='.$verify.$p;
}

这里收集了网站的多种信息,然后生成一个网址,加到js中,就会自动向该网址访问,并将信息提交给官网。

最后加到页面后面的代码是这样的(解码后):

<script type="text/javascript" src="http://update.v9.phpcms.cn/index.php?action=notice&phpcms_username=&sitename=默认站点&siteurl=http://localhost/phpcms/&charset=utf-8&version=V9.6.3&release=20170515&os=WINNT&php=7.0.12&mysql=5.5.53&browser=Mozilla/5.0 (windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/[email protected]&modules=admin&sitelist=http://localhost/phpcms/,&uuid=0b5aacb6-0d3c-13e2-a47b-d9cb3a26d359&verify=83f1ab93b35fb87202e613e4decbecc2"></script>

这就是向官网提交我们网址,管理员名字浏览器等信息的代码啊。难怪此前清除了模板中update.v9.phpcms.cn网址仍然提交,原来它将网址加密了,然后还加了你的相关信息。

如何删除它?

一是换一个网址,将http://update.v9.phpcms.cn/index.php换成你的。不让它向官网提交,但访问你的网址你并不需要。最好的办法是去掉访问。

但不要这段代码是不行的,会无法显示。因为$(“#main_frameid”).removeClass(“display”); 是让加载的页面显示,也就是说默认是不显示的。没有js,浏览器不显示内容。我们要干掉的其实是这个‘'
去掉它,将剩下的:
<script type="text/javascript">$("#main_frameid").removeClass("display");</script><div id="phpcms_notice"></div>
base64_encode。得到

PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoIiNtYWluX2ZyYW1laWQiKS5yZW1vdmVDbGFzcygiZGlzcGxheSIpOzwvc2NyaXB0PiA8ZGl2IGlkPSJwaHBjbXNfbm90aWNlIj48L2Rpdj4=

替换原来的,就可以了。


您可能感兴趣的文章:使用PHPCMS搭建wap手机网站phpcms模块开发之swfupload的使用介绍linux服务器下PHPCMS v9 安全配置详解php笔记之:初探PHPcms模块开发介绍PHPCMS的使用小结CodeIgniter使用phpcms模板引擎phpcms的分类名称和类别名称的调用phpcms手机内容页面添加上一篇和下一篇PHPCMS手机站伪静态设置详细教程PHPCMS忘记后台密码的解决办法解决phpcms更换javascript的幻灯片代码调用图片问题phpcms中的评论样式修改方法PHPCMS V9 添加二级导航的思路详解如何给phpcms v9增加类似于phpcms 2008中的关键词表PHPCMS遭遇会员投稿审核无效的解决方法Ajax实现phpcms 点赞功能实例代码PHPCMS2008广告模板SQL注入漏洞修复phpcms配置列表页以及获得文章发布时间

本文运维安全相关术语:linux服务器代维 linux服务器搭建 运维管理 运维工程师 企业安全文章 企业安全管理 cf安全系统检测到游戏数据异常

tags: gt,phpcms,lt,update,data,notice,script,php,v9,PHPCMS,网址,javascript,官网
分页:12
转载请注明
本文标题:phpcms v9禁止提交信息到官网方法详解
本站链接:http://www.codesec.net/view/574805.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 运维安全 | 评论(0) | 阅读(42)