freeBuf
主站

分类

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

特色

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

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

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

FreeBuf+小程序

FreeBuf+小程序

记一次代码审计与获得CVE漏洞实践
2024-09-11 19:52:08

计算机实验室管理系统代码审计(Computer Laboratory Management System)

环境搭建

源码在本文文末给出。

该系统的介绍里有非常详细的搭建过程,直接用 phpstudy 照着搭,

搭建后好后用默认账号密码登录后台即可,可以简单看看功能点。

工具使用

白盒审计肯定不是光看功能点的,用 seay 扫描:

昆仑镜扫描结果:

看到漏洞类型还是挺多的,其中 sql 注入存在最多。

漏洞分析

文件包含

看见上方扫描结果显示在文件/admin/index.php 中存在 include 函数并且有可控参数。

简单看看逻辑,会先判断文件是否存在或者是否为目录,如果都不满足就会包含404.html文件,满足条件的话就会进行相应的文件包含。

传入/admin/index.php?page=../config进行测试,包含/config.php文件


看到已经成功包含,只是该 php 文件中没有输出什么的。

但是问题又来了如果只是文件包含我们也没法利用,因为原 php 文件中也不存在什么危险函数。于是我又去找了是否存在文件上传的点,发现是白名单,尝试了绕过无果。那么寻找有没有什么文件修改或写入内容的地方。

最后在文件/classes/SystemSstings.php中确实存在文件修改,不过依然有限制

就是把 post 传入的 content 数组内容写入 html 文件,但是上面不是只能包含 php 文件吗。注意到当文件不存在时会包含 404.html 文件,那么是否可以通过修改 404.html 文件内容配合文件包含实现代码执行。

抓包传参测试一下

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