phpshe 本地文件包含导致越权触发多个漏洞

漏洞详情

披露状态:

2014-01-22: 细节已通知厂商并且等待厂商处理中
2014-01-27: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2014-04-19: 细节向公众公开

简要描述:

phpshe 本地文件包含导致越权触发多个漏洞

详细说明:

index.php
$cache_ad = cache::get('ad');
$cache_link = cache::get('link');
$cache_page = cache::get('page');
$web_qq = $cache_setting['web_qq']['setting_value'] ? explode(',', $cache_setting['web_qq']['setting_value']) : array();

$cart_num = pe_login('user') ? $db->pe_num('cart', array('user_id'=>$_s_user_id)) : (unserialize($_c_cart_list) ? count(unserialize($_c_cart_list)) : 0);
echo "{$pe['path_root']}module/{$module}/{$mod}.php";
include("{$pe['path_root']}module/{$module}/{$mod}.php");//可以看到这里直接包含

pe_result();

common.php
$mod = $_POST['mod'] ? $_POST['mod'] : ($_GET['mod'] ? $_GET['mod'] : $mod);//获取参数

$act = $_POST['act'] ? $_POST['act'] : ($_GET['act'] ? $_GET['act'] : $act);
$id = $_POST['id'] ? $_POST['id'] : ($_GET['id'] ? $_GET['id'] : $id);
?>





他是模块化的 全部都放在Module目录

分别有admin和Index目录

通过这个我们就可以直接包含admin目录下的文件直接进行执行

并且在admin目录下的模块没有任何权限验证

漏洞证明:

http://127.0.0.1/she/index.php

?mod=../admin/db

通过这样的方式就可以利用了

QQ截图20140121231808.png

修复方案:

你猜

版权声明:转载请注明来源 Matt@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2014-01-27 00:23

厂商回复:

最新状态:

2014-05-19:感谢@Matt 提供代码审计,文件包含漏洞已修复!


漏洞评价: