结论:攻击者的说法在 XIUNOX 重构版上不成立
攻击者的说法适用于 Xiuno BBS 4.0.4 老版本,但当前项目是 XIUNOX 重构版,已系统性修复。逐条对照:
1. "后台居然不是注入数据库" —— 已修复
articles/01_sql_injection.md 记录了 4.0.4 的三处 SQL 注入:底层 addslashes 转义(宽字节绕过)、后台用户搜索 LIKE 拼接、install/index.php 的 CREATE DATABASE 拼接。
重构版的修复(见 audit_xiunox/01_critical.md):
db_cond_to_sqladd改为返回array($sql, $params),全部用?占位符 + PDOprepare()/execute()绑定,字段名加^[a-zA-Z_][a-zA-Z0-9_]*$白名单后台用户搜索 LIKE 走参数化 +
%/_通配符转义安装脚本加白名单正则 +
install.lock锁文件
2. "随便修改网站首页" —— 无越权写入路径
网站首页 route/index.php 全程是只读展示(thread_find / thread_top_find_cache / CacheHelper::remember),没有任何写入数据库或文件的逻辑。攻击者无法从前台首页入口修改任何内容。
首页内容受后台 home_forum_ids 控制,而 admin/route/setting.php:1131 的写入路径有三道闸:
管理员登录:
admin_token_check()校验bbs_admin_tokenCookieCSRF Token:每个 POST 分支开头都有
CsrfService::check(),hash_equals比对 session tokenCookie SameSite=Lax:二级防护,防跨站携带
3. 其他可改首页的相关链路也已加固
XSS:
post_message_fmt移除gid==1特权分支,统一走 HTMLPurifier 白名单Cookie:
bbs_token/bbs_admin_token补齐 HttpOnly/Secure/SameSite开放重定向:
http_location默认仅允许站内跳转插件远程下载 SSRF:
plugin_download_unzip整体移除,仅支持本地安装
攻击者说法的来源
很可能是基于 4.0.4 老版本的认知(addslashes + install/index.php 无锁),或者把"4.0.4 有漏洞"笼统说成"xiunox 有漏洞"。在当前重构版上,匿名/非管理员修改任意站点首页的攻击路径不成立。


