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

攻防世界-web-fileclude

1. 题目描述

打开链接,可以看到如下代码:
在这里插入图片描述
代码意思很简单,让我们传递两个参数,一个file1,一个file2,如果file2的内容为hello ctf,那么就可以在代码中include file1

2. 思路分析

这道题显然是一个文件包含的问题,而且输入没有做任何过滤,这样的话就比较简单了,可以参考本人之前的帖子https://blog.csdn.net/wuh2333/article/details/130734450

利用php://input来绕过file2文件内容的校验
在这里插入图片描述
file1则可以通过php://filter来获取flag.php的内容

在这里插入图片描述

3. 解题过程

  • 将请求类型改为POST
  • file1 = php://filter/read=convert.base64-encode/resource=flag.php
  • file2 = php://input
  • body中内容为hello ctf

在这里插入图片描述
在这里插入图片描述
然后将这串base64解码即可,最终的flag为cyberpeace{cfb80fbae98fff9a9435c8e31c47a89c}

总结

简单的一道文件包含题,主要考察使用php://filter和php:input如何上传和读取文件

http://www.lryc.cn/news/126318.html

相关文章:

  • 【100天精通python】Day36:GUI界面编程_高级功能操作和示例
  • 无涯教程-Perl - sub函数
  • wpf控件上移下移,调整子集控件显示顺序
  • cesium学习记录08-鼠标绘制多边形
  • rocketMq启动broker报错找不到或无法加载主类 Files\Java\jdk1.8.0_171\lib\dt.jar;C:\Program]
  • Linux touch 命令指南大全
  • 华为网络篇 RIPv2的基础配置-25
  • fastadmin 下拉多级分类
  • 时序预测 | MATLAB实现基于CNN-LSTM卷积长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价)
  • RabbitMQ工作流程详解
  • LabVIEW使用图像处理进行交通控制性能分析
  • CentOS 7 下 Keepalived + Nginx 实现双机高可用
  • 【Linux】IO多路转接——select接口
  • error_Network Error
  • Python爱心光波
  • 【分布式】Viewstamped Replication Revisited
  • 微服务07-分布式缓存
  • QGraphicsView放大时,paint有时不被调用,导致图像绘制不出来(2)
  • 深入理解设计模式-创建型之建造者模式(与工厂区别)
  • Centos7多台服务器免密登录
  • C语言实现哈希搜索算法
  • MySQL卸载并重装指定版本
  • 文件IO编程 1 2
  • Java后端框架模块整合
  • 17 synchronized关键字使用 synchronized方法、synchronized块
  • django-基本环境配置
  • Springboot 实践(4)swagger-ui 测试controller
  • PHP实践:分布式场景下的Session共享解决方案实现
  • 07 - 查看、创建、切换和删除分支
  • 【SpringBoot】89、SpringBoot中使用@Transactional进行事务管理