打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
代码审计-文件操作类

代码审计必备知识点:

1代码审计开始前准备:

环境搭建使用,工具插件安装使用,掌握各种漏洞原理及利用,代码开发类知识点。

2、代码审计前信息收集:

审计目标的程序名,版本,当前环境(系统,中间件,脚本语言等信息),各种插件等。

3、代码审计挖掘漏洞根本:

可控变量及特定函数,不存在过滤或过滤不严谨可以绕过导致的安全漏洞。

4、代码审计展开计划:

审计项目漏洞原理->审计思路->完整源码->应用框架->验证并利用漏洞。

代码审计两种方法

1.根据关键字找到敏感函数

2.根据目标功能判断可能存在的漏洞

案例:CNVD-梦想cms1.4-存在任意文件删除漏洞

CNVD发布的梦想cms任意文件删除漏洞,只公开了一些基础信息,如:cms1.4版本,漏洞产生在后台,位置在Ba***.cl***.php文件。

我们需要根据这些基础信息,审计源码找出漏洞……

下载源码搭建好网站

使用phpstorm打开源码,查看后台admin目录,找到Ba***.cl***.php文件,里面只有两个Ba开头的php文件,所以就可以缩小范围到两个文件中审计漏洞

在两个文件搜索(Ctrl+F) unlink删除函数,确定漏洞是在BackdbAction.class.php文件产生的

经过代码审计发现:删除的是 file/back/ 目录下的$dir变量内容,而$dir变量内容是由$filename控制。我们需要找到是谁调用了del0ne方法。

选中del0ne右键选择声明成功找到是delbackdb调用了del0ne方法,发现是以GET方式传递的$filename参数。而且没有任何过滤

因为源码使用的是MVC架构,所以访问时需要使用MVC访问规则。删除的是file/back/ 目录下的内容,所以在目录下创建一个sc.php

使用MVC规则访问网站,尝试删除sc.php文件。

提示删除成功

目录下也没了sc.php文件

install目录下有一个install_ok.txt文件,删除这个文件就可以重装网站

尝试使用目录遍历删除这个文件,访问网站

提示删除成功

访问网站install安装目录,成功提示重新安装网站

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
记某cms审计过程(新手入门篇)
针对某非法钓鱼诈骗网站渗透测试
代码审计:亿邮邮件系统两个getshell和两个有意思的漏洞 | Seay 渗透 编程 代码审计 网络安全博客
工具推荐:三款自动化代码审计工具
从目录遍历到getshell
Dedecms站点防止被黑经验分享 | 徐公平SEO博客
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服