- A+
显示不全请点击全屏阅读
PHPCMS V9安装文件debug一说
◆.【0x001】审计的起因(废话一堆)
◆.【0x002】代码的艺术(审核核心)
◆.【0x003】PHPCMS意外发现(….)
◆.【0x004】安全建议
审计的起因
今天认识了个XX瑶的妹纸,和她聊的很好(这才让我有了看代码的耐心),话说妹纸就是动力.有木有有木有阿!!
晚上的时候,九月突然给我说PHPCMS有一个参数没有过滤,开始就没重视最后九月发了一张图给我,让我有了对PHPCMS审计的兴趣
高清无码图:
代码的艺术
由于上面那张图,我在网上下载了一个PHPCMS V9的程序,放在我的网站根目录里。。
然后根据九月说的路径:phpcms/install/cloud.php,发现最新版的PHPCMS已经没有了这个文件,然后耐心大跌。。
然后在找阿找啊找阿找,终于发现了cloud.php文件已经和/install.php合体。。所以才有了今天这篇废话很多的文章。。
$step = trim($_REQUEST[‘step’]) ? trim($_REQUEST[‘step’]) : 1;
$pos = strpos(get_url(),’install/install.php’);
$siteurl = substr(get_url(),0,$pos);
if(strrpos(strtolower(PHP_OS),”win”) === FALSE) {
define(‘ISUNIX’, TRUE);
} else {
define(‘ISUNIX’, FALSE);
step参数确实没有过滤,然后我就在想一个安装步骤过滤干啥呢??
接着往下翻。。
看见程序把参数做了一个swicth循环,于是。。。。 我继续往下翻。。
好了这时候可以小小的兴奋下了..
翻啊翻,终于在370行看到了希望..
case ‘cache_all’:
$cache = pc_base::load_app_class(‘cache_api’,’admin’);
$cache->cache(‘category’);
$cache->cache(‘cache_site’);
$cache->cache(‘downservers’);
$cache->cache(‘badword’);
$cache->cache(‘ipbanned’);
$cache->cache(‘keylink’);
$cache->cache(‘linkage’);
$cache->cache(‘position’);
$cache->cache(‘admin_role’);
$cache->cache(‘urlrule’);
$cache->cache(‘module’);
$cache->cache(‘sitemodel’);
$cache->cache(‘workflow’);
$cache->cache(‘dbsource’);
$cache->cache(‘member_group’);
$cache->cache(‘membermodel’);
$cache->cache(‘type’,’search’);
$cache->cache(‘special’);
$cache->cache(‘setting’);
$cache->cache(‘database’);
$cache->cache(‘member_setting’);
$cache->cache(‘member_model_field’);
$cache->cache(‘search_setting’);
copy(PHPCMS_PATH.”install/cms_index.html”,PHPCMS_PATH.”index.html”);
break;
这里强烈批评PHPCMS程序员,请尽量用AOP设计模式 省的以后的维护的麻烦。
这里贴出使用bug代码 install.php?setp= cache_all
有图有真相。。。
爆路径漏洞
路径:http://www.8090sec.com/phpcms/modules/attachment/templates/album_dir.tpl.php
漏洞证明:
Tags:
如果您喜欢我的博客,欢迎点击图片定订阅到邮箱 也可以点击链接【订阅到鲜果】
如果我的想法或工具帮助到了你,也可微信扫下方二维码打赏本人一杯咖啡