【PHP代码审计】站帮主CMS漏洞挖掘
文章目录
- 任意文件删除
- SQL注入漏洞
任意文件删除
这里随便挑了一个cnvd上最新发布的cms漏洞
查找unlink
函数,任意文件删除常见函数
看到一个return unlink($path);
感觉自己看到了结局
双击发现是delDirAndFile
函数的功能
function delDirAndFile($path, $delDir = FALSE) {if($path=='' || $path=='/' || $path=='./' || $path=='../' || $path=='../../' || $path=='../../../'){exit('严禁该操作');}$handle = opendir($path);if ($handle) {while (false !== ( $item = readdir($handle) )){if ($item != "." && $item != "..")is_dir("$path/$item") ? delDirAndFile("$path/$item", $delDir) : unlink("$path/$item");}closedir($handle);if ($delDir)return rmdir($path);}else {if (file_exists($path)) {return unlink($path);} else {return false;}}
}
发现此函数可以对传入的$path
进行删除操作
跟进函数使用位置
if($run=='delpath'){$path=$_POST['path'];delDirAndFile($path, $delDir = true);
}
发现如果变量run
等于delpath
,就可以通过post传递的参数path
来删除文件
看怎么给变量run
赋值
if(!isset($_GET['run'])){exit("参数有误");
}
发现是get
请求传递的run
参数
这个时候我们可以看一下首页文件
<?php
error_reporting(0);
header("Content-type: text/html; charset=utf-8");
if(count($_GET)<=0 and file_exists('index.html')){echo "<script>window.location='index.html';</script>";exit;
}
else if(!file_exists('cms/cms/install/install.txt')){echo "<script>window.location='cms/cms/install/index.php';</script>";exit;
}
else{echo "<script>window.location='search.php?index';</script>";
}
?>
是通过cms/cms/install/install.txt
是否存在,来判断是否跳转到安装界面的
我们安装网站后尝试直接访问安装界面
可以看到,如果需要重新安装,请把install.txt文件删除
通过上面的存在任意文件删除漏洞处构造payload
发现文件被删除系统需要重装
SQL注入漏洞
通过查找select字段发现如下字段
可以看到未经过任何安全函数之类的进行过滤
<?php
include('c_top.php');
if(isset($_GET['aid'])){$aid=$_GET['aid'];$arts=$c_sql->select("select * from art where id={$aid}");$arts=$arts[0];$tid=$arts['tid'];
}
直接http://192.168.80.158/zbzcms/cms/cms/admin/art.php?aid=1放到sqlmap跑
得到账号密码
这里其他的漏洞基本上都差不多,还是比较简单的,适合我这样的新手学习,这里就不写了,基本就是查一下危险函数,黑白盒一起很容易发现的
【PHP代码审计】站帮主CMS漏洞挖掘相关推荐
- 某小众CMS漏洞挖掘与实战
概述 在前段时间实战攻防演练中发现很多医院都使用同一个管理系统,网站后台都是同一路径:/adm/index.php,但是我从未见过,且页面没有任何Banner信息,如图: 通过许久的搜索终于找到了一些 ...
- 在线cms识别|旁站|c段|信息泄露|cms漏洞扫描|端口扫描|
工具 onlinetools Windows python3.7的版本是ok的,kali python3.8的版本还存在问题 可以尝试用3.7版本尝试 在线cms识别|旁站|c段|信息泄露|工控|系统 ...
- 如何入门漏洞挖掘,以及提高自己的挖掘能力
0x01:前言 大家好我是米斯特团队的一员,我的id香瓜,我们团队在这次i春秋第二次漏洞挖掘大赛中,包揽了前五名,我key表哥一不小心拿了一个第一,导致很多人来加他好友问他,如何修炼漏洞挖掘能力,我今 ...
- SRC漏洞挖掘之偏门资产收集篇
写这篇文章的目得,就是跟大家分享一下平时我挖src漏洞的一些经验,当自己挖到某个站点的漏洞时,往往就会欣喜若狂的往src平台上提交,得到的结果却是 "漏洞已重复,感谢提交" ,其实 ...
- 企业网站制作网站安全评估技术与漏洞挖掘技术
近些年在信息技术的作用下, 人们的生活方式.生活质量发生了翻天覆地的变化, 而这一切都得益于对网络技术的应用与使用.当然与之对应的是在网络技术的不断应用过程中, 网络安全问题渐渐成为了人们必须重视的问 ...
- 【封神台】漏洞挖掘XXE wp
前言 掌控安全里面的靶场漏洞挖掘XXE实体注入,学习一下! 做XXE题目之前我们先了解一下XXE实体注入的原理和利用方法 XXE基础知识 XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数 ...
- [CMS漏洞]EmpireCMS_V7.5的一次审计【转载】
i春秋作家:Qclover 原文来自:EmpireCMS_V7.5的一次审计 0x01 概述 最近在做审计和WAF规则的编写,在CNVD和CNNVD等漏洞平台寻找各类CMS漏洞研究编写规则时顺便抽空对 ...
- 那些漏洞挖掘高手都是怎么挖漏洞的?
前言 说到安全就不能不说漏洞,而说到漏洞就不可避免地会说到三座大山: 漏洞分析 漏洞利用 漏洞挖掘 从个人的感觉上来看,这三者尽管通常水乳交融.相互依赖,但难度是不尽相同的.本文就这三者分别谈谈自己的 ...
- 金融级漏洞挖掘思路总结
总结一下思路吧,一些有意思的姿势,或许对大家都有一些帮助.入职第一天,进了渗透组,拿到了目标,此目标经过了5次漏洞挖掘,公司一堆大佬,客户要求继续往下挖,老板提出需求,必须要有一个高危+2个中危,低危 ...
最新文章
- Caused by: java.lang.RuntimeException: can not run elasticsearch as root
- python查题_python 数据库连表查询习题
- php roadrunner,使用RoadRunner 加速 Laravel 应用
- 记录 关于浏览器跨域和设置默认浏览器的问题
- 【Linux】一步一步学Linux——ntsysv命令(149)
- Nginx负载均衡实现之四层与七层负载
- Object对象具体解释(二)之clone
- 菜鸟学java要多久_菜鸟学java,根本停不下来!
- python apscheduler一次只有一个job_Python使用APScheduler实现定时任务过程解析
- 源码安装nginx以及平滑升级
- 奔跑吧火柴人c语言开发_小学数学智力题:这两个火柴棍趣味题,你能做出来吗?...
- C++_类和对象_C++运算符重载_加号运算符重载_实现两个对象相加_对象和int类型相加_通过成员函数重载+号_全局函数重载+号_以及重载_运算符重载函数实现---C++语言工作笔记055
- 对List集合中的对象进行按某个属性排序
- pywinauto实现微信消息自动发送
- lcx端口转发linux_LCX端口转发及NC反弹
- 【区块链108将】区块链追溯产品起源,让每一个产品都是放心产品
- android 实现果冻动画效果,手把手教你绘制Android粘性果冻动画组件
- androidspring!Android开发究竟该如何学习,薪资翻倍
- 路由器被蹭网后,我有被黑的风险吗?
- 一套完整的Android通用框架