Xiuno BBS 审计之问题12:HTTPS 请求关闭 SSL 证书校验,存在中间人攻击风险

简介: Xiuno BBS 4.0.4 的 `https_post()` 函数禁用SSL证书校验(`CURLOPT_SSL_VERIFYPEER=0`),仅验证主机名,导致HTTPS通信易遭中间人攻击,插件下载、远程图片抓取等场景可被劫持并执行RCE。XIUNOX已修复,供4.0.4维护者参考。(239字)

问题:HTTPS 请求关闭 SSL 证书校验,存在中间人攻击风险
此文章为XIUNOX版本重构审计时发现问题,XIUNOX版本已优化修复此问题。分享出来方便后续想基于xiuno bbs4.0.4版本制作维护版本或插件模板等需求的开发者和站长参考。

现象
Xiuno BBS 4.0.4 的 https_post() 函数在发起 HTTPS 请求时(用于插件市场下载、远程附件抓取、SMTP 邮件等场景),将 CURLOPT_SSL_VERIFYPEER 设为 0、CURLOPT_SSL_VERIFYHOST 设为 2(仅校验主机名不校验证书链)。这意味着攻击者只需在客户端与服务端之间插入自签名证书即可解密、篡改全部 HTTPS 流量,包括插件下载内容(落盘后会被 include 执行,直接 RCE)。

源码证据
文件:xiunobbs_4.0.4/xiunophp/misc.func.php 行 1317-1335(https_post 函数中的 curl 选项)

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 2);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/x-www-form-urlencoded', 'x-requested-with: XMLHttpRequest'));
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, _SERVER('HTTP_USER_AGENT'));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // 关闭对端证书校验
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 仅校验主机名,不校验证书链
同一函数后续还会跟随 301/302 跳转(行 1340-1346),攻击者通过 MITM 返回 302 即可让 curl 跳转到攻击者控制的任意地址继续下载,最终落盘内容(如插件 zip、远程图片)被解压并 include。

调用链佐证:

admin/route/plugin.php 的插件在线下载调用 http_get/https_get → 落盘解压 → include install.php(已记录于 01_critical_ssrf_plugin_download.md)
tool/save_remote_image.php 抓取远程图片也走同一函数
风险等级与结论
高危

危害后果:

中间人攻击者可篡改插件下载包,植入后门代码,落盘后由 include install.php 触发 RCE
远程图片抓取可被替换为恶意内容,配合文件上传缺陷写入 webshell
SMTP over HTTPS 的认证凭据可被窃取
官方源 http://plugin.xiuno.com/ 本身已是 HTTP(见 04_plugin_official_source_dead_market_paralyzed.md),即使 SSL 校验开启也无法保护,双重缺陷叠加
修复建议:

将 CURLOPT_SSL_VERIFYPEER 设为 true(1)、CURLOPT_SSL_VERIFYHOST 设为 2
维护 CA 证书包路径(CURLOPT_CAINFO 指向 cacert.pem)
官方源切换到 HTTPS 且证书有效
对下载的 zip 包做 GPG/签名校验后再解压执行

目录
相关文章
|
5天前
|
缓存 人工智能 安全
GPT-5.6 Terra与GPT-5.5性能实测:成本减半后的跑分对比与快速迁移指南
GPT-5.6 Terra 的定价为每百万 token 输入 2.50/输出 15。GPT-5.5 则是 5/ 30。Terra 的每一项费率,包括 $0.25/M 的缓存读取,都恰好是 GPT-5.5 的一半,因此在任何工作负载组合下,Terra 都固定 便宜 2.0x。以每天 10 万次请求、3K token 提示词计算,大约是 Terra 每天 2,000,GPT−5.5每天 4,000,即每月约 60,000对 120,000。问题在于:OpenAI 没有发布任何针对 Terra 的编码基准。那个著名的 91.9% Terminal-Bench 数字是 Sol 在 Ul
|
12天前
|
存储 关系型数据库 MySQL
云数据库自研存储引擎:阿里云 PolarDB 相比开源 MySQL 性能提升数倍
云数据库自研存储引擎已成为云原生数据库竞争的核心技术高地。阿里云 PolarDB 通过 X-Engine 高压缩存储、PolarStore 用户态 IO + RDMA、IMCI 列存 HTAP 三大自研引擎组合,配合物理日志、跨节点 Buffer Pool 共享、Parallel Query 五大优化,实现写性能 6 倍、压缩 3-5 倍、AP 加速 100 倍、IO 延迟 -80% 的全面超越,让客户存储成本下降 65%、DBA 人力节省 80%。
454 114
|
5天前
|
人工智能 缓存 JSON
刚刚 GPT-5.6 发布,吊打 Claude 5 和 Grok 4.5?一手实测来啦!
GPT-5.6 刚发布,跑分号称超越 Fable 5,真的假的?附一手实测,让 3 个最强 AI 编程模型 GPT-5.6 Sol、Claude Fable 5、Grok 4.5 在 Cursor 里同时一把梭开发网页游戏,看看最新模型到底谁更能打。
311 0
|
5天前
|
存储 人工智能 JSON
Qwen 本地部署搭配 ComfyUI 生成 AI 漫剧完整实操指南(小白零基础可落地,零成本无限生成+角色一致性天花板)
2026全网最优本地漫剧流水线:零成本、离线运行、角色统一、低配(8G显卡)可跑。融合Qwen本地大模型+ComfyUI双引擎,实现剧本生成→分镜绘图→动态成片全自动,隐私安全、无审核限流,新手30分钟上手,日更无忧。(239字)
|
28天前
|
Linux 程序员 数据格式
【2026最新】Notepad++下载、安装和使用一篇搞定(附中文版安装包)
Notepad++ 是一款免费开源、轻量高效的 Windows 文本编辑器,支持 C/Python/HTML 等 80+ 语言语法高亮、代码折叠、正则替换、编码转换及插件扩展,专为程序员与文本处理用户打造,完美替代系统记事本。(239字)
|
2天前
|
缓存 UED 开发者
Codex109天重置23次,明天还要再送一次
Codex近109天完成23次额度重置,7月14日将迎来第24次。Tibo高频响应用户反馈:优化GPT-5.6高消耗问题、补发失效福利、调整重置时间——形成“反馈→回应→修复→补偿”正向闭环,彰显以用户为中心的产品哲学。(239字)
421 11