Xiuno BBS 审计之问题10:后台 phpinfo() 泄露完整服务器环境信息
问题:后台 phpinfo() 暴露完整服务器环境信息此文章为XIUNOX版本重构审计时发现问题,XIUNOX版本已优化修复此问题。分享出来方便后续想基于xiuno bbs4.0.4版本制作维护版本或插件模板等需求的开发者和站长参考。
现象Xiuno BBS 4.0.4 后台 admin/route/index.php 提供了一个 phpinfo 动作分支,直接调用 phpinfo() 输出完整 PHP 环境信息。虽然该接口位于后台(需管理员权限),但后台存在无 CSRF Token 漏洞(见独立审计文件),攻击者可通过 CSRF 诱导管理员访问 admin-index-phpinfo.htm,使 phpinfo 页面在管理员浏览器中渲染;又因 phpinfo 页面包含大量敏感信息(绝对路径、PHP 版本、已加载扩展、
探测绝对路径,辅助文件包含/路径穿越利用探测 PHP 版本与已禁用函数(disable_functions),辅助命令执行利用探测 document_root、upload_tmp_dir、open_basedir 等关键路径配置若 phpinfo 页面被搜索引擎收录或缓存(后台 URL 简短可猜测),则未认证泄露代码中虽 unset(
源码证据证据 1:后台 phpinfo 动作直接调用 phpinfo() 文件:xiunobbs_4.0.4/admin/route/index.php 行 50-57
} elseif ($action == 'phpinfo') {
unset($_SERVER['conf']);
unset($_SERVER['db']);
unset($_SERVER['cache']);
phpinfo();
exit;
}第 55 行 phpinfo(); 直接输出完整 PHP 信息页面。
证据 2:后台鉴权依赖可被 CSRF 绕过的 Cookie 文件:xiunobbs_4.0.4/admin/admin.func.php 行 8-17
function admin_token_check() { global
//$key = md5($longip.$useragent_md5.$conf['auth_key']); // 有些环境是动态 IP
$key = md5((XN_ADMIN_BIND_IP ? $longip : '').$useragent_md5.xn_key());
// hook admin_token_check_start.php
$admin_token = param('bbs_admin_token');
后台仅校验 bbs_admin_token Cookie,无 CSRF Token。攻击者可构造 诱导管理员访问;虽然 不会渲染 phpinfo HTML,但通过
-
07.16
远光84陀螺仪灵敏度调整办法 远光84陀螺仪灵敏度如何调整
-
07.16
云顶之弈s17收菜羁绊 S17赛季全新收菜表
-
07.16
远光84排位限制标准是多少 远光84排位制度解析
-
07.16
远光84灵敏度手机调整教程 远光84手机灵敏度怎样调整
-
07.16
远光84兑换码如何用 远光84兑换码使用指南
-
07.16
冰原奇旅兑换码长期有效—16个礼包码真实通用
-
-
下载
- |
-
-
下载
- 《行尸走肉第一章》免安装中文汉化硬盘版下载
- 单机|436 MB
- 一款以动作冒险为主题的游戏
-
-
下载
- 《街头霸王X铁拳》免安装中文汉化硬盘版下载
- 单机|111MB
- 一款非常好玩的格斗游戏
-
-
下载
- |
-
-
下载
- 《暗黑破坏神3》免安装繁体中文正式版下载
- 单机|7630 MB
- 一款以角色扮演为主题的游戏
-
-
下载
- 《马克思佩恩3》免安装硬盘版下载
- 单机|27033 MB
- 一款以第三人称射击为主题的游戏