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

【CTF-SHOW】一句话木马变形

开局一个输入框,可以执行php代码

输入echo 'HelloWord'; 提示只有字母,数组,下划线,括号,分号允许

输入system(ls),发现当前目录中存在flag.php

尝试访问flag.php,结果一片空白

方法一:base64编码命令

将cat flag.php编码成base64:Y2F0IGZsYWcucGhw

system(base64_decode(Y2F0IGZsYWcucGhw));

php的eval()会从内向外解析,所以会先调用base64_decode()将命令还原成字符串,再通过system()执行,得到flag

方法二:show_source()

使用函数:

getcwd():获取当前路径,也可以使用常量__DIR__

scandir(path):列出path内的所有文件,返回一个数组

print_r(Array):打印数组

array_reverse(Array):反转数组

next(Array):将指针向后挪动一个单位并返回其值,从第一个元素开始

show_source(file_path):读取并打印php文件源码

首先查看当前目录结构在数组中的样子,我们需要把flag.php移动到第二个位置(即[1]处),这样next()才能读到它

使用array_reverse()将数组反转,让flag.php位于第二个位置

next()将指针向后挪动一个单位并返回其值,就能得到字符串flag.php

最后再使用show_source()就可以查看flag.php的源码,得到flag

http://www.cnnetsun.cn/news/3862144.html

相关文章:

  • 如何在React项目中开启生产模式:全面指南与最佳实践
  • 数据库直连加上AI读表,老系统数据怎么变成AI能理解的语义模型
  • 深度解析安徽建设干部学校网站在提升行业素质中的核心作用与使用指南
  • 2024年建站避坑指南:一份接地气的网站建设可行性分析报告如何助你省钱又高效
  • C/C++编译过程全解析:从源码到可执行文件的四步曲
  • 西安同城外卖系统开发实战指南:从架构到部署全流程
  • Unity序列化核心机制:Serializable、SerializeField与SerializeReference深度解析
  • CDGA数据治理认证备考:重点章节练习题深度解析与实战指南
  • Sunshine游戏串流:让你的PC游戏无处不在的魔法盒子
  • 算法面试——哈希表:两数之和、三数之和、最长连续序列
  • 网站建设前期准备:避免踩坑、提升转化,企业官网搭建全流程深度解析
  • 用Postman深入理解CORS:从HTTP报文视角剖析跨域请求机制
  • Wi-Fi二维码制作全攻略:从原理到实践,解决兼容性与安全难题
  • 在React构造函数中调用 super(props)的目的是什么?:深入理解类组件初始化原理
  • Android卡顿优化实战:从工具使用到案例剖析的完整解决方案
  • 揭秘沙漠风网站建设背后的真相:为什么你的网站总是转化率低?
  • MySQL InnoDB锁机制深度解析:记录锁、间隙锁与临键锁实战指南
  • Android性能调优:CPU核心命令实战指南与深度分析
  • AI Agent生产部署安全指南:从OpenClaw看智能体权限管理与风险防控
  • 唐山建设局网站如何助力透明化服务与工程监管升级?深度解析官方平台功能及用户指南
  • 单容水箱液位PID控制:从系统建模到参数整定实战指南
  • 终极指南:3步掌握DLSS版本管理
  • 3步掌握盲水印技术:保护数字版权的Python实现
  • VC++集成OCR:传统C++项目如何实现高效字符识别
  • C++网络协议解析实战:零拷贝、状态机与高性能缓冲区设计
  • 网站建设领导小组的作用与职责详解
  • Transformer架构深度解析:从注意力机制到现代大模型基石
  • 从零基础到独立接单十堰网站建设培训揭秘中小城创客的逆袭之路
  • Apache Spark实战指南:从核心概念到生产环境调优
  • Dynamics 365/Power Platform插件开发:Plugin Registration Tool官方下载与核心使用指南