usual*** CMS 8.0代码审计
字数 1371 2025-08-22 12:23:47

usual*** CMS 8.0 代码审计报告与漏洞分析

0x01 前言

本文档详细分析了usual*** CMS 8.0版本中发现的多个安全漏洞,包括SQL注入、XSS跨站脚本攻击和目录删除漏洞。这些漏洞均存在于后台管理系统中,可能被攻击者利用来获取敏感信息或破坏系统。

0x02 后台a_book_category.php int型注入

漏洞描述

该文件存在整数型SQL注入漏洞,攻击者可通过构造恶意参数执行任意SQL查询。

漏洞位置

/demo/cmsadmin/a_book_category.php

POC

http://cms.xxxx.com/demo/cmsadmin/a_book_category.php?t=mon&id=-1%20union%20select%201,user(),3%23

漏洞分析

  • id参数未经过滤直接拼接到SQL查询中
  • 使用union select可以获取数据库信息
  • 该文件存在多个触发点

0x03 后台a_pagex.php盲注

漏洞描述

存在基于时间的盲注漏洞,通过editorValue参数可执行任意SQL语句。

漏洞位置

/demo/cmsadmin/a_pagex.php

POC

pagename=test&istop=0&isbottom=0&title=test&webkey=test&description=test&editorValue=1'and if(ascii(substr(user(),1,1))=100,sleep(2),1)#&id=2&submit=%E7%BC%96%E8%BE%91

漏洞分析

  • editorValue参数需要手动添加
  • 使用ifsleep函数构造时间盲注
  • 通过判断响应时间差异可推断SQL查询结果

0x04 后台反射型XSS

漏洞描述

存在反射型XSS漏洞,虽然危害较低但可用于熟悉XSS审计流程。

漏洞位置

/demo/cmsadmin/a_auth.php

POC

http://cms.xxxxxx.com/demo/cmsadmin/a_auth.php?do=update&l=%22%3C/script%3E%3Cscript%3Ealert(1)%3C/script%3E

漏洞分析

  • l参数未经过滤直接输出到页面
  • 可注入任意JavaScript代码

0x05 后台a_bookx.php注入

漏洞描述

存在复杂的SQL注入漏洞,虽然mysqli_query不支持堆叠查询,但可通过特定方式利用。

漏洞位置

/demo/cmsadmin/a_bookx.php

POC

http://cms.xxxx.com/demo/cmsadmin/a_bookx.php?t=move&id[0]=1%27)or%20if((substr((select%20user()),1,1))=%27d%27,(select%201),exp(~0));%23

漏洞分析

  • id参数为数组形式传入
  • 使用if条件判断构造布尔型盲注
  • 当条件为假时使用exp(~0)触发错误
  • 可利用多种报错技术:
    • updatexml/extractvalue
    • join报错
    • floor报错
    • exp()报错(MySQL>=5.5.5)

0x06 删除指定目录漏洞

漏洞描述

存在目录遍历漏洞,可删除服务器上任意目录。

漏洞位置

/demo/cmsadmin/a_modsx.php

漏洞分析

  • id参数经过不安全的过滤
  • str_replace只替换一次../为空格
  • 可通过.../...//绕过,实际变为../
  • 可跨目录删除指定目录

影响

成功删除网站images文件夹

防御建议

  1. SQL注入防御

    • 使用参数化查询或预处理语句
    • 对所有用户输入进行严格过滤和转义
    • 使用最小权限原则配置数据库账户
  2. XSS防御

    • 对所有输出进行HTML编码
    • 实施内容安全策略(CSP)
    • 使用HttpOnly标志设置cookie
  3. 目录遍历防御

    • 使用白名单验证文件路径
    • 规范化路径后检查是否在允许范围内
    • 避免直接使用用户输入作为文件操作参数
  4. 其他建议

    • 定期进行安全审计和代码审查
    • 实施严格的输入验证和输出编码
    • 保持系统和组件更新到最新版本

总结

usual*** CMS 8.0版本存在多个高危漏洞,主要集中在后台管理系统。攻击者可利用这些漏洞获取数据库敏感信息、执行任意代码或破坏系统文件。建议用户升级到最新版本或按照上述建议进行安全加固。

usual*** CMS 8.0 代码审计报告与漏洞分析 0x01 前言 本文档详细分析了usual*** CMS 8.0版本中发现的多个安全漏洞,包括SQL注入、XSS跨站脚本攻击和目录删除漏洞。这些漏洞均存在于后台管理系统中,可能被攻击者利用来获取敏感信息或破坏系统。 0x02 后台a_ book_ category.php int型注入 漏洞描述 该文件存在整数型SQL注入漏洞,攻击者可通过构造恶意参数执行任意SQL查询。 漏洞位置 /demo/cmsadmin/a_book_category.php POC 漏洞分析 id 参数未经过滤直接拼接到SQL查询中 使用 union select 可以获取数据库信息 该文件存在多个触发点 0x03 后台a_ pagex.php盲注 漏洞描述 存在基于时间的盲注漏洞,通过 editorValue 参数可执行任意SQL语句。 漏洞位置 /demo/cmsadmin/a_pagex.php POC 漏洞分析 editorValue 参数需要手动添加 使用 if 和 sleep 函数构造时间盲注 通过判断响应时间差异可推断SQL查询结果 0x04 后台反射型XSS 漏洞描述 存在反射型XSS漏洞,虽然危害较低但可用于熟悉XSS审计流程。 漏洞位置 /demo/cmsadmin/a_auth.php POC 漏洞分析 l 参数未经过滤直接输出到页面 可注入任意JavaScript代码 0x05 后台a_ bookx.php注入 漏洞描述 存在复杂的SQL注入漏洞,虽然mysqli_ query不支持堆叠查询,但可通过特定方式利用。 漏洞位置 /demo/cmsadmin/a_bookx.php POC 漏洞分析 id 参数为数组形式传入 使用 if 条件判断构造布尔型盲注 当条件为假时使用 exp(~0) 触发错误 可利用多种报错技术: updatexml/extractvalue join报错 floor报错 exp()报错(MySQL>=5.5.5) 0x06 删除指定目录漏洞 漏洞描述 存在目录遍历漏洞,可删除服务器上任意目录。 漏洞位置 /demo/cmsadmin/a_modsx.php 漏洞分析 id 参数经过不安全的过滤 str_replace 只替换一次 ../ 为空格 可通过 .../...// 绕过,实际变为 ../ 可跨目录删除指定目录 影响 成功删除网站 images 文件夹 防御建议 SQL注入防御 : 使用参数化查询或预处理语句 对所有用户输入进行严格过滤和转义 使用最小权限原则配置数据库账户 XSS防御 : 对所有输出进行HTML编码 实施内容安全策略(CSP) 使用HttpOnly标志设置cookie 目录遍历防御 : 使用白名单验证文件路径 规范化路径后检查是否在允许范围内 避免直接使用用户输入作为文件操作参数 其他建议 : 定期进行安全审计和代码审查 实施严格的输入验证和输出编码 保持系统和组件更新到最新版本 总结 usual*** CMS 8.0版本存在多个高危漏洞,主要集中在后台管理系统。攻击者可利用这些漏洞获取数据库敏感信息、执行任意代码或破坏系统文件。建议用户升级到最新版本或按照上述建议进行安全加固。