XSS 输出编码修复
xiaobai 18小时前

项目修复记录

2026-06-06 XSS 输出编码修复

本次修复内容

  • 对前台模板中的普通文本输出增加 htmlspecialchars(..., ENT_QUOTES, 'UTF-8') 编码。
  • 保留正文渲染通道 message_fmt,正文仍由现有安全 HTML/Markdown 渲染逻辑负责。
  • 已覆盖的重点页面/模板:
  • view/htm/index.htm
  • view/htm/forum.htm
  • view/htm/thread.htm
  • view/htm/thread_list.inc.htm
  • view/htm/post_list.inc.htm
  • view/htm/post.htm
  • view/htm/header_nav.inc.htm
  • view/htm/user.common.template.htm
  • view/htm/user.htm
  • view/htm/my.htm
  • view/htm/user_level_progress.inc.htm
  • view/htm/my_credit.htm
  • view/htm/my_password.htm
  • view/htm/inspect.htm

补充修复

  • 修复用户关注、粉丝、收藏、通知、头像、封面、排行榜和举报模板的普通文本输出编码。
  • 已补充覆盖:
  • view/htm/user_fans.htm
  • view/htm/user_follow.htm
  • view/htm/my_fans.htm
  • view/htm/my_follow.htm
  • view/htm/my_favorite.htm
  • view/htm/my_notice.htm
  • view/htm/my_avatar.htm
  • view/htm/my_cover.htm
  • view/htm/rank.htm
  • view/htm/my.common.template.htm
  • view/htm/other_report.htm
  • admin/view/htm/other_report.htm

后台模板修复

  • 修复后台核心管理页面普通文本输出编码。
  • 已补充覆盖:
  • admin/view/htm/index.htm
  • admin/view/htm/user_list.htm
  • admin/view/htm/thread_list.htm
  • admin/view/htm/thread_recommend.htm
  • admin/view/htm/user_credit_log.htm
  • admin/view/htm/other_webhook.htm
  • admin/view/htm/other_api_token.htm
  • admin/view/htm/other_admin_log.htm
  • admin/view/htm/forum_list.htm
  • admin/view/htm/other_database_backup.htm
  • admin/view/htm/other_sensitive_word.htm

后台配置与插件中心修复

  • 修复后台配置表单和插件中心模板中的普通文本、URL、属性输出编码。
  • 已补充覆盖:
  • admin/view/htm/setting_quickbar.htm
  • admin/view/htm/setting_checkin.htm
  • admin/view/htm/setting_checkin_log.htm
  • admin/view/htm/plugin_list.htm
  • admin/view/htm/plugin_read.htm
  • admin/view/htm/plugin_health.htm

权限与用户组模板修复

  • 修复后台权限中心、用户组列表、用户组编辑和扩展权限配置模板输出编码。
  • 已补充覆盖:
  • admin/view/htm/group_list.htm
  • admin/view/htm/group_update.htm
  • admin/view/htm/permission_list.htm
  • admin/view/htm/permission_group.htm

后台 Header 与提示消息模板修复

  • 修复后台 Header、侧边导航和提示消息模板中的普通文本、属性值和 URL 输出编码。
  • 已补充覆盖:
  • admin/view/htm/header.inc.htm
  • admin/view/htm/header_nav.inc.htm
  • admin/view/htm/message.htm

后台 API、缓存与上传辅助模板修复

  • 修复后台 API 文档、缓存管理、缓存配置和上传类型配置模板中的普通文本、属性值和 URL 输出编码。
  • 已补充覆盖:
  • admin/view/htm/other_api_doc.htm
  • admin/view/htm/other_cache.htm
  • admin/view/htm/setting_cache.htm
  • admin/view/htm/setting_upload.htm

后台基础配置、编辑页与 Footer 模板修复

  • 修复后台基础配置、用户编辑、用户创建、版块编辑和 Footer 静态资源模板中的普通文本、属性值和 URL 输出编码。
  • 已补充覆盖:
  • admin/view/htm/setting_base.htm
  • admin/view/htm/user_update.htm
  • admin/view/htm/user_create.htm
  • admin/view/htm/forum_update.htm
  • admin/view/htm/footer.inc.htm

SEO、版权、积分规则等辅助模板修复

  • 修复后台版权声明、积分规则、积分流水、文章目录和阅读全文配置模板中的普通文本、属性值输出编码。
  • 已补充覆盖:
  • admin/view/htm/setting_copyright.htm
  • admin/view/htm/setting_credit_rule.htm
  • admin/view/htm/user_credit_log.htm
  • admin/view/htm/setting_toc.htm
  • admin/view/htm/setting_readmore.htm

后台零散模板收尾修复

  • 全量扫描后台 admin/view/htm/*.htm 模板,并修复剩余零散普通文本、属性值、URL 和 JS 数值输出编码。
  • 已补充处理:
  • admin/view/htm/index.htm
  • admin/view/htm/thread_list.htm
  • admin/view/htm/other_admin_log.htm
  • admin/view/htm/plugin_read.htm
  • admin/view/htm/other_api_token.htm
  • admin/view/htm/forum_list.htm
  • admin/view/htm/setting_rate_limit.htm

修复原则

  • 普通文本、属性值、标题、用户名、版块名、摘要、标签、邮箱、时间字符串等统一做 HTML 实体编码。
  • 数字字段继续使用 intval()
  • 正文内容不直接二次转义,避免破坏 message_fmt 输出。
  • 后台表单生成器输出的 $input[...] 属于已生成 HTML 控件,不整体转义,避免破坏表单结构;仅修复额外拼接的普通文本、预览 URL 和列表输出。
  • 举报后台中目标标题、摘要、原因、状态、补充说明、确认文本等统一转义。
  • 后台日志、Webhook、API Token、数据库备份、敏感词等管理数据按文本或数字类型分别转义。

主要处理内容

  • 后台首页站点名、最新主题、最新用户、举报信息、快捷入口、系统信息、健康项、趋势项等输出转义。
  • 用户列表邮箱、用户名、用户组、注册时间、IP 等输出转义。
  • 主题列表和推荐主题列表的版块名、主题标题、摘要、作者、发布时间、筛选 UID、编辑链接等输出转义或整数化。
  • 积分流水的类型、动作、原因、筛选参数等输出转义。
  • Webhook 名称、URL、事件、错误信息、时间等输出转义。
  • API Token 名称、用户名、应用、权限、过期时间、最后访问时间、筛选 UID 等输出转义或整数化。
  • 后台日志内容、操作、结果、IP、UA、差异数据、导出 URL、详情 modal ID 等输出转义或整数化。
  • 版块列表名称、图标 URL、排序、上传控件索引、JS maxfid 等输出转义或整数化。
  • 数据库备份文件名、时间、隐藏字段等输出转义。
  • 敏感词列表的词、替换词、状态、时间等输出转义。
  • 快捷按钮二维码预览 URL、签到奖励类型、签到记录筛选与用户/奖励文本等输出转义。
  • 插件列表、插件详情、插件体检中的插件名、版本、简介、作者、价格、URL、截图、错误信息和确认文案等输出转义。
  • 用户组名称、积分区间、用户组图标、权限分类、权限名称、权限标识、来源和说明等输出转义。
  • 后台 HTML 语言、Meta、标题、CSS 版本参数、移动端入口、管理员头像、用户名、菜单 URL、菜单图标、菜单文本、版本号和提示消息等输出转义。
  • API 基础地址、Scope、接口方法、路径、权限、说明、参数和调用示例 URL 等输出转义。
  • 缓存驱动、前缀、临时目录、临时文件统计、缓存分组 key/name 等输出转义。
  • 上传类型配置中的分类标签、字段名、扩展名值、说明文本和当前允许类型列表等输出转义。
  • 用户编辑链接 UID、版块编辑链接 FID、版块标题名称、访问权限用户组名称、权限 gid、Footer 运行耗时/SQL 数、语言路径、静态资源版本参数、URL rewrite 开关和 fid 等输出转义或整数化。
  • 积分流水筛选 UID、币种、动作、原因、时间等输出转义或整数化;版权、积分规则、文章目录和阅读全文配置页中的 $input[...] 表单控件保持不整体转义。
  • 限流规则模板中的规则名称、规则 key、input name、说明文本等输出转义。

 

欢迎大家加入QQ交流群:785017513

 
最后于 17小时前 被xiaobai编辑 ,原因:
最新回复 (0)
全部楼主
返回
xiaobai
二级用户组
27
主题数
4
帖子数
扫码访问