尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Xiuno BBS 审计之问题01:后台所有操作无 CSRF Token 校验
问题后台所有操作无 CSRF Token 校验此文章为XIUNOX版本重构审计时发现问题分享出来方便后续想基于xiuno bbs4.0.4版本制作维护版本或插件模板等需求的开发者和站长参考。现象Xiuno BBS 4.0.4 后台鉴权仅依赖bbs_admin_tokenCookieadmin_token_check()只校验该 Cookie 是否能被xn_decrypt解密且未过期全程不校验任何 CSRF Token既不校验请求体中的 token 字段也不校验Origin/Referer头。这意味着攻击者只需诱导已登录管理员访问恶意页面即可通过跨站请求伪造触发后台任意写操作增删管理员、修改站点配置、上传/安装插件、清空数据库等。后台admin/route/*.php中所有 POST 分支均未调用任何 token 校验函数admin_token_check()是唯一的鉴权入口且其内部不含任何 anti-CSRF 机制。源码证据证据 1后台鉴权函数仅校验 Cookie无 CSRF Token 文件xiunobbs_4.0.4/admin/admin.func.php行 8-45function admin_token_check() { global $longip, $time, $useragent, $conf; $useragent_md5 md5($useragent); //$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); if(empty($admin_token)) { $_REQUEST[0] index; $_REQUEST[1] login; } else { $s xn_decrypt($admin_token, $key); if(empty($s)) { setcookie(bbs_admin_token, , 0, , , , TRUE); message(-1, lang(admin_token_expiry)); } list($_ip, $_time) explode(\t, $s); // 后台超过 3600 自动退出。 if((XN_ADMIN_BIND_IP $_ip ! $longip || !XN_ADMIN_BIND_IP) $time - $_time 3600) { setcookie(bbs_admin_token, , 0, , , , TRUE); message(-1, lang(admin_token_expiry)); } // 超过半小时重新发新令牌防止过期 if($time - $_time 1800) { admin_token_set(); } } }第 17 行$admin_token param(bbs_admin_token);仅从 Cookie 取 token无任何 POST/GET token 字段校验无Referer/Origin校验。默认XN_ADMIN_BIND_IP为空行 6IP 绑定不生效CSRF 不受 IP 限制。证据 2后台 POST 操作均无 token 校验示例 文件xiunobbs_4.0.4/admin/route/index.php行 21-40} else if($method POST) { // hook admin_index_login_post_start.php $password param(password); if(md5($password.$user[salt]) ! $user[password]) { xn_log(password error. uid:.$user[uid]. - ******.substr($password, -6), admin_login_error); message(password, lang(password_incorrect)); } admin_token_set(); xn_log(login successed. uid:.$user[uid], admin_login); message(0, jump(lang(login_successfully), .)); }登录 POST 不校验 token。其余后台路由admin/route/setting.php、admin/route/user.php、admin/route/forum.php、admin/route/plugin.php等的 POST 分支同样仅依赖admin_token_check()无独立 token 校验。证据 3插件安装/卸载等高危操作无 token 文件xiunobbs_4.0.4/admin/route/plugin.php行 155-201} elseif($action install) { plugin_lock_start(); $dir param_word(2); plugin_check_exists($dir); $name $plugins[$dir][name]; plugin_check_dependency($dir, install); plugin_install($dir); $installfile APP_PATH.plugin/$dir/install.php; if(is_file($installfile)) { include _include($installfile); } plugin_lock_end(); // ... $msg lang(plugin_install_sucessfully, array(name$name)); message(0, jump($msg, http_referer(), 3)); }插件安装会include插件目录下的install.php第 173-175 行属极高危操作但全程无 CSRF Token。攻击者构造img srchttp://victim/admin/plugin-install-恶意插件即可诱导管理员访问时自动安装含恶意install.php的插件实现 RCE。风险等级与结论风险等级高危结论后台所有 POST 操作无 CSRF Token鉴权仅靠 Cookie构成完整的 CSRF 漏洞。结合bbs_admin_tokenCookie 未设SameSite属性见 Cookie 安全审计浏览器默认不会拦截跨站请求携带 CookieCSRF 可直接生效。影响面覆盖后台全部功能增删管理员、改配置、安装/卸载插件含include install.php→ RCE、删帖删版块。修复建议在admin_token_check()中对非 GET 请求强制校验请求体内的 CSRF Token-session 绑定、一次性 token校验Origin/Referer头Cookie 设置SameSiteLax/Strict敏感操作插件安装、配置修改追加二次密码确认。
RELATED

相关推荐

AI-ready Spring Boot架构重构:GPU调度、向量服务与模型热更实战

AI-ready Spring Boot架构重构:GPU调度、向量服务与模型热更实战

1. 这不是又一个“Spring Boot 教程”,而是面向真实AI工程落地的后端架构重构指南2026年,AI能力已不再是前端弹窗里炫酷的“一键生成文案”或后台跑个离线模型脚本——它正深度嵌入核心业务流:信贷审批系统需要毫秒级调用风控大模型做动态授信…

📅 2026/11/8 12:14:51
CISC vs RISC 指令集对比:x86 与 ARM 在 5 大维度下的性能与功耗实测

CISC vs RISC 指令集对比:x86 与 ARM 在 5 大维度下的性能与功耗实测

CISC vs RISC 指令集深度剖析:x86与ARM在5大核心维度的性能与功耗实测1. 指令集架构的历史演进与设计哲学计算机指令集架构的发展历程堪称一部处理器设计的进化史。上世纪70年代,随着集成电路技术的突破,处理器设计逐渐分化为两大流派&#x…

📅 2026/11/5 20:26:02
Visual C++运行库全家桶:一站式高效解决Windows软件运行问题

Visual C++运行库全家桶:一站式高效解决Windows软件运行问题

Visual C运行库全家桶:一站式高效解决Windows软件运行问题 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 还在为"应用程序无法启动"、&qu…

📅 2026/11/7 3:26:29
MORE NEWS

更多资讯

📰

电工证谁发的最管用在哪考 河南电工证过期怎么处理全攻略

电工证谁发的最管用在哪考 河南电工证过期怎么处理全攻略 证书过期了不知道怎么复审延期,这是很多特种作业人员最头疼的问题。特别是电工证,一旦过期,不仅影响日常工作,还可能面临行政处罚。今天我就从漯河市政公用工程从业者的角度,说说…

📰

电工技师考电工证郑州报考避坑指南:急需特种作业证才能上岗找工作

电工技师考电工证郑州报考避坑指南:急需特种作业证才能上岗找工作 你现在最着急的可能就是手里拿着电工技师的职称,却因为没有对应的电工证而找不到合适的工作。别急,今天就给你讲讲 电工技师考电工证 的那些事儿,尤其是 郑州报考避坑指南…

📰

东莞长安电工证报考指南:学历不高也能考,考前押题帮你稳过

东莞长安电工证报考指南:学历不高也能考,考前押题帮你稳过 你是不是也担心学历不高报不了东莞长安电工证?别慌,我来帮你搞定。其实现在考证门槛已经没那么高了,只要你愿意花点心思,考前押题也能让你顺利通过考试。下面我就用一个真实案例,带你一步步了…

📰

电工证用不用年审吗?全国通用证书怎么报考不被坑

电工证用不用年审吗?全国通用证书怎么报考不被坑 你是不是也遇到过这种情况,想报考电工证,但不知道去哪报名,怕被中介坑?别急,这篇文章专门给你讲清楚电工证的年审问题,还有怎么选靠谱机构、不被套路的干货。 电工证到底需不需要年审?…

📰

异地网上办理电工证吗?良心建议帮你搞懂转证流程

异地网上办理电工证吗?良心建议帮你搞懂转证流程 之前考的证在外省能不能转过来?这事儿真不是一句“可以”或“不可以”就能解决的。很多人手里握着外地的电工证,到了新地方才发现用不了,或者换证流程搞不清楚,耽误了工作。今天就从 郑州金水区…

📰

日照低压电工证好考么千万别踩坑这些细节你必须知道

日照低压电工证好考么千万别踩坑这些细节你必须知道 怕考不过白交培训费?现在越来越多的电工朋友开始关注日照低压电工证的报考问题,但一听说要考证就打退堂鼓,怕花冤枉钱,怕难考,怕浪费时间。如果你也是这样想的,那你不是一个人,但别急,…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬