CTFSHOW-WEB入门-文件包含78-81

  1. 题目:web 78
    1. 题目:
    2. 解题思路:分析代码,发现没有过滤于是就先尝试一下flag.php,发现没有回显但是成功,于是说明给你文件包含成功,又因为是php文件,于是就用:file=php://filter/convert.base64-encode/resource=flag.php,base64加密方法获取:得到一串base64加密的文本:解谜可得:
    3. 知识点:php://filter/read=convert.base64-encode/resource=[文件名] 读取文件源码(针对php文件需要base64编码)
  2. 题目:web 79
    1. 题目:
    2. 解题思路:分析代码可以知道,这里过滤了php,文件包含中可以利用data:协议写入php文件,从而执行对应的php代码,过滤了php,那么就可以使用base64加密形式的密文,从而执行PHP代码:可以得到目录:进一步查看文件内容:得到flag:
    3. 知识点:
php 复制代码
data协议使用条件:
allow_url_fopen:on
allow_url_include :on
12
2. 作用:
自PHP>=5.2.0起,可以使用data://数据流封装器,以传递相应格式的数据。通常可以用来执行PHP代码。
3. 用法:
data://text/plain,
data://text/plain;base64,
注意:php代码后面的?>不用写,否则会报错
  1. 题目:web 80
    1. 题目:
    2. 解题思路:分析代码可以知道过滤了php data,但是这种可以通过大小写绕过,于是可以使用
php 复制代码
php://input + [POST DATA] 执行php代码
复制代码
3. file=Php://input,然后抓包,在写入命令,执行命令就可以看到结果:<?php system('ls');?>:![](https://cdn.nlark.com/yuque/0/2025/png/39210681/1737615882155-8bf738aa-bed8-426e-9930-119330bd4e24.png)可以看到目录:![](https://cdn.nlark.com/yuque/0/2025/png/39210681/1737615896819-724ff0a8-ad78-4678-9302-7bf961a651ac.png)进一步查看文件内容:![](https://cdn.nlark.com/yuque/0/2025/png/39210681/1737615928451-edc7bc01-e6b3-410e-a4f4-4b732aff6855.png)
4. 知识点:str_replace()由于只匹配文本,可以通过大小写绕过,php的input协议使用,这里也可以通过hackbar写入命令执行。
  1. 题目:web 81
    1. 题目:
    2. 解题思路:看到题目中过滤了php data :于是input,data不再受用,之后再看一下消息头:发现服务器为nginx,查看其日志文件,一般在/var/log/nginx/access.log这个目录下,查看一下发现可以访问:于是就可以通过抓包,修改ua头,注入php代码,完成命令执行
php 复制代码
当 Nginx 处理请求并记录日志时,注入的内容会被写入日志文件。攻击者可以利用这一点来:
伪造日志条目:通过注入特定内容,攻击者可以在日志中创建虚假的请求记录。
插入敏感信息:如果日志记录了敏感信息,攻击者可以通过注入来获取这些信息。
复制代码
3. 抓包并修改UA头:![](https://cdn.nlark.com/yuque/0/2025/png/39210681/1737617235856-ab0fd62c-a144-4a5c-bcfb-e30753c16991.png)得到目录:fl0g.php  index.php
4. 进一步查看:![](https://cdn.nlark.com/yuque/0/2025/png/39210681/1737617311686-ea098fb3-2e44-409d-9794-aeda84e57823.png)得到flag
5. 知识点:nginx日志注入
相关推荐
世人万千丶9 小时前
参数管理_Flutter在鸿蒙平台路由参数最佳实践
学习·flutter·华为·harmonyos·鸿蒙
遇乐的果园12 小时前
前端学习笔记-vue加载渲染优化
前端·笔记·学习
遇乐的果园14 小时前
前端学习笔记-vue状态管理优化
前端·笔记·学习
从零开始的代码生活_14 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法
可乐奶茶sky14 小时前
AI Agent 学习
人工智能·学习
茯苓gao15 小时前
嵌入式开发笔记:EtherCAT协议从硬件到软件完整配置指南——从零搭建一套EtherCAT通信系统
笔记·嵌入式硬件·学习
RD_daoyi17 小时前
外链权重暴跌至13%,品牌提及反超传统链接——2026年不做Digital PR,你的独立站等于隐形
运维·网络·学习·机器学习·搜索引擎
chase。17 小时前
【学习笔记】PointWorld:迈向通用机器人操控的3D世界模型
笔记·学习·机器人
AOwhisky18 小时前
Python 学习笔记(第十三期)——运维自动化(下·前篇):远程命令执行——paramiko基础篇
运维·python·学习·云原生·自动化·运维开发·paramiko
前端世界18 小时前
MySQL 基础入门(学习第4天)——约束与 DML 操作详解
数据库·学习·mysql