freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

记一次熊海cms代码审计
2021-10-17 16:06:16

0x01 前言

在写这篇文章之前,说说代码审计的思路吧,我们要学好代码审计必须要熟悉代码的审计思路,首先了解网站是用什么框架搭建的,熟悉网站的各个功能点进行黑白盒结合的方式来测试,也可以借助代码审计工具来分析,最主要的是全文通读代码,常见的代码审计有以下几种,代码审计需要细心,发现漏洞点

1.根据敏感关键字回溯参数传递过程;

2.查找可控变量,正向追踪变量传递过程;

3.寻找敏感功能点,通读功能点代码;

4.直接通读全文代码;
5.敏感函数回溯参数过程。

有什么不足之处欢迎大佬纠正

0x02整体概况

1.代码审计工具

2.根据功能点代码审计

3.查找可控变开量代码审计

4.根据敏感关键字回溯参数代码审计

0x03详细过程

1.先看网站具体有什么功能点,从功能点进行代码审计先黑盒测试后台管理页面1634456579_616bd403223c72ca217e1.png!small?1634456580378

2.发现返回sql语句存在sql注入1634456663_616bd457871fc29339313.png!small?1634456664755

白盒测试分析源代码

找到admin下的index。Php文件,发现了gte请求传了一个参数为r,和文件包含路径,说明后台登录url请求r参数是某个php文件1634456715_616bd48b20dc286d79325.png!small?1634456716310

有在admin文件fies目录中审计代码发现发现这个文件没有,试着在inc目录下审计

1634457460_616bd7747c59863e9827c.png!small?1634457462483

找到了checklogin.php文件发现这段代码有问题,判断user为空 重定向到index.Php

1634457460_616bd774765344e4249f8.png!small?1634457462484

发现登录页面login.Php文件,从分析代码发现存在盲注,可以确定发现登录功能界面存在sql注入

1634457460_616bd7747d7503556c51e.png!small?1634457462485

查找可控变量,正向追踪变量传递过程,查找$_POST['user']正向追踪分析

1634457460_616bd7747d2bd4ea5ecdd.png!small?1634457462486

打开这个路径发现http://www.xxxxxx.com/admin/index.php?r=manageinfo页面也存在sql注入,分析 manageinfo.php1634457460_616bd774c6b7b01903dcd.png!small?1634457462487

可以发现有三处,其中第二处,是登录相关的,第三处是安装相关的发现没有做过滤的sql语句1634457460_616bd774cab5166553d2e.png!small?1634457462488

1634457460_616bd774cd7105a1f966a.png!small?1634457462488

通读全文代码知道文件目录结构,可以看到网站根目录下有一个 index.php,后台目录下有一个 index.ph读代码从入口开始进行分析分析网站入口代码1634457460_616bd774ce7b6a71bafaa.png!small?1634457462489

可以看出 index.php 代码中有一个变量$action,代码逻辑如下:

接收 get 请求中的 r 变量,赋值给$file 变量

判断$file 变量,为空赋值 index,不为空进行下一步

使用 include 包含 files 文件中的文件

可以看到,这个地方包含的文件名是我们自己指定的,即这个地方变量可控,而且没有过滤,

所以存在文件包含漏洞

测试 payload: http://www.xionghai.com/index.php?r=../../123

1634457461_616bd775134c0760134c1.png!small?1634457462489

根据敏感关键字回溯参数代码审计,根据 update关键字回溯参数分析代码,先用 Seay 进行扫描,使用 Seay 源代码审计系统的自动审计工具,然后去源代码查看 发现没有过滤1634457545_616bd7c91b521eea52cc0.png!small?1634457546465

1634457581_616bd7ed2335fe3bd7baf.png!small?1634457582447

0x03总结

1:文件上传功能

常见点:文章编辑、资料编辑、头像上传、附件上传

常见漏洞:文件上传漏洞、SQL注入漏洞、XSS漏洞

2:文件管理功能

常见点:URL中有文件路径、代码中有文件相关函数

常见漏洞:任意文件读取、任意文件删除、任意文件下载、xss漏洞

3:登录认证功能

常见点:登录、密码找回 、 登录后对用户资料的操作

常见漏洞:SQL注入、越权漏洞

4:留言;评论回复;文章发表;资料设置

常见漏洞:XSS

5:搜索

常见漏洞:SQL注入、XSS

6:模板功能

常见漏洞:写入后门

7:数据库备份功能

常见漏洞:文件删除、文件下载

# 渗透测试 # 代码审计
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录