熊海CMS_V1.0代码审计与漏洞分析及采坑日记(一)--文件包含漏洞

本文详尽记录了熊海CMS_V1.0的代码审计过程,包括搭建环境、审计工具配置、常见问题解决及任意文件包含漏洞分析等内容。

前言

        最近几天在给协会的学弟讲代码审计入门相关内容,便找了这个熊海CMS_V1.0来教学,结果在这个过程中遇到蛮多问题的,于是这篇文章详细记录了对熊海CMS_V1.0从搭建到审计与漏洞分析的过程,其中踩了很多坑,这些坑网上也没有什么记录,也是我之前学习过程中没有去仔细发现和研究的,果然古人诚不欺我,温故而知新,通过给学弟们讲这个简单的代码审计又学习到了很多新的内容,也欢迎阅读这篇文章的师傅们对文章出现的问题一起探讨交流,不足的地方也请多多包涵,这篇文章也借阅了网上多篇相关审计文章,在文末附上了链接。



网站目录结构

目录结构

admin             --后台文件夹
css                  --css文件夹
files                 --存放网站的各种功能页面文件夹
images            --存放图片文件夹
inc                   --配置文件文件夹
install              --网站安装文件夹
seacmseditor  --网站的编辑器文件夹
template         --模板文件夹
upload            --上传文件夹,存放网站上传的文件
index.php       --网站入口文件



审计工具和环境配置

  系统环境:win10/win7
  用到的软件:seay源代码审计系统、rips、phpstudy_pro、phpstudy2016、phpstudy2018、Navicat Premium、PHPstorm。
  用到的插件:Chrome插件:hackbar、SwitchyOmega;
  推荐练习平台:[lfi-labs](https://github.com/paralax/lfi-labs)、[upload-labs](https://github.com/c0ny1/upload-labs)。

审计工具配置:


Seay源代码审计系统

1.下载地址 提取码:cjlu

2.使用方法

第一步,新建项目,选择对象(要审计的项目)
在这里插入图片描述
1.点击图示的自动审计功能

2.点击开始,等待审计结果

3.审计完成,显示出可能的漏洞

4.双击其中一条便可以审计其中的代码

在这里插入图片描述


RIPS - 静态源代码分析工具

下载地址 提取码:cjlu

在这里插入图片描述

1:启动phpstudy(pro或者其他版本都可以),打开apache服务

2:创建网站

3:将解压出来的rips源代码文件复制到网站的根目录

        现在所有的准备工作做好了,开始正式的审计吧:

1:重启apache并打开网站,输入源码的绝对路径,开始扫描,跳出来的弹框点击确定
2:扫描完成,显示出可能有的漏洞总数
3:下拖可以看到可能漏洞具体的路径和代码
在这里插入图片描述

搭建网站测试环境:

        这里使用phpstudy去简易的部署,添加网站,这里域名因为是本机测试,随便写,后面修改下hosts文件即可。
        这里要勾选创建数据库,数据库账号test,密码123456,数据库名称test。
在这里插入图片描述

        然后再把要审计的源码放到根目录下。

在这里插入图片描述

        再找到hosts文件配置测试域名,以便本机访问。修改本地host文件后,需要cmd执行ipconfig /flushdns(刷新dns缓存)hosts文件位置
C:\Windows\System32\drivers\etc\hosts,在原有基础上添加内容:
127.0.0.1 www.test.com
127.0.0.1 test.com

备注:这里如果遇到win10不能编辑保存hosts文件,可以这样操作:选择hosts文件,右键–属性–勾去“常规”选项里面“属性”的“只读”即可。

在这里插入图片描述

        若是还不能编辑,则需要提高当前用户的权限。右键host文件在安全下面选择编辑–点击添加用户–点击检查名称–找到自己所用的账户–逐一确定,再在权限的地方勾选“完全控制”“修改”“写入”,确认之后就能直接用记事本修改hosts文件了。
在这里插入图片描述

        这里再测试下域名是否生效,打开cmd,ping www.test.com,发现已经指向127.0.0.1即代表成功解析到本地。
在这里插入图片描述
        配置完成后,在phpstudy_pro面板重启下Apache服务,然后浏览器访问test.com进入系统安装页面,填写好相关信息。
在这里插入图片描述

“坑一”:点提交后,遇到页面提示

Mysql Connect Error:Access denied for user ‘test’@‘%’ to database
‘test’

  • 问题分析
    考虑是权限不足的问题被拒绝访问,查看了一些网上的回答,测试如下方法可行

  • 解决方案
    查看user表中root用户及test用户的权限对比,查询语句如下

      mysql> select Grant_priv,Super_priv from mysql.user where user in ('root','test');
    

    发现root用户这两个value都是’Y’,而test用户都是’N’,所以要将test用户这两个value都更新为’Y’,更新语句如下:

      mysql> update m
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值