ctfshow-文件上传(web151-web161)

news2024/10/6 18:23:23

目录

web151

web152

web153

web154

web155

web156

web157

web158

web159

web160

web161 


web151

提示前台验证不可靠 那限制条件估计就是在前端设置的

上传php小马后 弹出了窗口说不支持的格式

查看源码

这一条很关键 这种不懂直接ai搜 意思就是限制了上传类型 允许的后缀格式为png 

我们直接修改并且上传小马

给出了上传路径 访问传参即可 得出flag

方法二 因为是前端验证嘛 

修改小马后缀为png bp抓包修改回来也可以

web152

提示后端管的严

就算把前端允许的格式修改为php也不行 后端返回个报错信息 文件类型不允许

抓包修改类型为PNG

Content-Type: application/octet-stream

修改为

Content-Type: image/png

成功

获取flag

web153

依旧显示文件类型不合规

修改类型不行了

修改后缀也不行 那么估计就是对文件内容进行检测了 在文件的内容前加入PNG头标识也不行 

可能即使后端判断后缀太严格只要是.php就不行

发现upload下有个index.php文件 那就可以使用.user.ini的方式了

php.ini是php的配置文件 定义全局的 .user.ini也是配置文件作用与目录的 优先级比全局配置文件高 前提是当前目录下有php文件 那么在.user.ini配置文件定义当前目录所有php文件包含一个指定的php文件 即可 但是这个指定的php文件也需要我们上传 我们无法上传php 才想到的.user.ini 所以包含一个txt文件也可以的 只要是txt文件内容是php内容 文件包含过来就会解析txt里面的php内容

首先上传.user.ini文件 内容为auto_append_file=1.txt

首先就是前端允许类型为ini这样通过前端 后端修改类型为image/png通过后端 要记得在user.ini前增加一个. 必须在bp中增加(在本地.开头可能会不让) 因为全称就是.user.ini 

上传txt文件

依旧是先绕过前端 后端文件类型修改为image/png

访问/upload即可 并传入post参数为我们的命令

web154

以上一题的方法试一下

.user.ini文件成功上传

但是txt文件上传失败说是文件内容不可以

经过测试只要是文件中存在php就不可以

使用php短标签格式即可

获取flag

web155

同web154

使用蚁剑连接查看过滤源码发现 确实过滤了php并且过滤文件的内容 以及判断类型

web156

同web154

区别文件内容又过滤了[] 导致小马不能用 换成{}即可

 <?=eval($_POST[1]);?> 

 <?=eval($_POST{1});?> 

注意 判断过滤什么 使用二分法 一半一半测试

web157

同web154

额外多过滤了{}以及;号  不影响直接删除即可

因为 在php中最后一个;可以不用写

上一题去除分号即可

{}问题如何解决 多学一个姿势POST不给参数也可以

一句话木马为 <?=eval(array_pop($_POST));?> 

去除分号<?=eval(array_pop($_POST))?> 

意思就是弹出post最后一对键值对的值 从而php解析这个值 从而达到执行命令

web158

使用web157即可

web159

文件内容()不让用了 那就不能写一句话木马了

还有什么方式呢 那就是 首先ini文件包含一个1.txt文件 1.txt文件的php内容为包含U-A日志文件 

/var/log/nginx/access.log 然后U-A 添加一句话木马 即可 这个log也被过滤了 使用 . 拼接即可

.user.ini 内容为 auto_append_file=1.txt

1.txt内容为 <?=include '/var/l'.'og/nginx/access.l'.'og'?>

添加U-A值 <?php eval($_POST[1]); ?>

目前来说日志确实被包含了  但是内容太多 手动执行命令不好找  并且也不确定一句话是否被写入日志中 使用蚁剑连接测试即可

成功

找到了flag

既然已经使用蚁剑进行连接了 那就看看这几关后端是怎么过滤的吧

后端过滤脚本

可以看到文件内容过滤了 php ( [ { ; log 

并且验证文件类型是否为image/png 以及后缀是否是php

web160

文件内容过滤了空格 很容易我们将空格换成换行符0a即可 不能再post中直接写%0a 那个url的写法  先用1进行占位 再hex中找到1对应的31 修改为0a即可

web161 

经过bp测试 不让上传ini后缀的文件了 txt也不行 png也不行 估计是白名单?

我重新来 直接在页面中上传png图片 结果也说图片不合规 这是啥都不让上传?

真有意思前端允许类型是png 后端却不可以了

经过测试 后缀只要不是php就可以 文件类型必须要是png 文件头内容必须是GIF头(并且光有头不行 还必须要有内容)

既然知道这样了 按照上一题

上传.user.ini  内容为 auto_append_file=1.txt

上传1.txt内容为 <?=include '/var/l'.'og/nginx/access.l'.'og'?>(过滤了空格 记得替换09等)

添加U-A值 <?php eval($_POST[1]); ?>

并且文件内容前必须要加上GIF的头字段(我查看源码也不明白原因 有个函数获取该文件大小 也就是说 文件头要和文件对应 才会返回真 这个GIF文件头组合任意内容 该函数都会返回真 这是我的理解)

确定包含日志

蚁剑连接成功确实 木马写入 查找flag

在这里说一下 这些题目都是再上一题的基础上再增加过滤条件的 所以就是上一关禁用的 下一关也会被禁用 

先发到web161 之后的需要vps长地址 目前弄不出来长地址 导致只能做到这

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

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

相关文章

计算机组成原理 1 概论

主要内容 介绍运算器、控制器、存储器结构、工作原理、设计方法及互连构成整机的技术。 主要内容&#xff1a; ◼ 数值表示与运算方法 ◼ 运算器的功能、组成和基本运行原理 ◼ 存储器及层次存储系统 ◼ 指令系统 ◼ CPU功能、组成和运行原理 ◼ 流水线 ◼ 系统总线 ◼ 输入输出…

UE5 播放本地MP3、MP4

1.创建一个媒体播放器 2.如创建视频&#xff0c;勾选。 它会多一个媒体纹理给你 3.1 设置音频 在一个actor上添加“媒体音频组件” “音频媒体播放器”赋值给它 3.2播放音频 添加一个音频媒体播放器变量&#xff0c; 赋值 地址使用绝对地址 4.1设置视频 UI上创建一个imag…

快速学习Spring

Spring 简介 Spring 是一个开源的轻量级、非侵入式的 JavaEE 框架&#xff0c;它为企业级 Java 应用提供了全面的基础设施支持。Spring 的设计目标是简化企业应用的开发&#xff0c;并解决 Java 开发中常见的复杂性和低效率问题。 Spring常用依赖 <dependencies><!-…

Linux:信号的处理

文章目录 信号处理 本篇总结的是关于信号的处理 信号处理 在之前有这样的观点&#xff1a;信号在合适的时候被处理好&#xff0c;当进程收到信号后&#xff0c;当前进程可能在做优先级更高的事&#xff0c;所以它来不及处理这个信号&#xff0c;那么就会把这个信号暂时保存起…

spring aop @annotation的用法

直接看原文: spring aop annotation的用法-CSDN博客 -------------------------------------------------------------------------------------------------------------------------------- annotation用在定义连接点时&#xff0c;对连接点进行限制。比如我们想对标注了…

双非本科准备秋招(18.2)—— 图解Monitor

对象头 普通对象&#xff1a; 数组对象&#xff1a; java中对象存储结构分为对象头&#xff08;Header&#xff09;、实例数据&#xff08;Instance Date&#xff09;和对齐填充&#xff08;Padding&#xff09;。 对象头存储着Mark Word和Klass Word&#xff0c;通过Klass Wo…

【MySQL】操作库 —— 库的操作 -- 详解

一、增删数据库 1、创建数据库 create database db_name; 本质就是在 /var/lib/mysql 创建一个目录。 说明&#xff1a; 大写的表示关键字。[ ] 是可选项。CHARACTER SET&#xff1a;指定数据库采用的字符集。COLLATE&#xff1a;指定数据库字符集的校验规则。 2、数据库删除…

背包问题(理论)

对于面试的话&#xff0c;掌握01背包、完全背包&#xff0c;就够用了&#xff0c;最多可以再来一个多重背包。 至于背包九讲其他背包&#xff0c;面试几乎不会问&#xff0c;都是竞赛级别的了&#xff0c;leetcode上连多重背包的题目都没有&#xff0c;所以题库也告诉我们&…

NodeJS安装(windows)

NodeJS安装&#xff08;windows&#xff09; 1、官网地址 NodeJS官网地址&#xff1a;https://nodejs.org/en 2、安装 3、验证NodeJS环境变量 cmd后&#xff0c;运行&#xff1a;node -v 4、配置npm的全局安装路径&#xff08;需要管理员身份运行&#xff09; npm conf…

【后端高频面试题--设计模式上篇】

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;后端高频面试题 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 什么是设计模式&#xff1f;怎么理解设计模式&#xff1f; 设计模式是在软件设计中&#xff0c…

三.AV Foundation 视频播放 - 播放控制

引言 前面的博客我们已经实现了视频的播放功能&#xff0c;但是作为一个完整的视频播放器仅仅有播放功能是不够的&#xff0c;暂停&#xff0c;快进&#xff0c;播放进度条&#xff0c;显示播放时间&#xff0c;显示视频标题和字幕都是必不可少的功能。 本篇博客我们就对视频…

Spring Cloud Gateway 网关路由

一、路由断言 路由断言就是判断路由转发的规则 二、路由过滤器 1. 路由过滤器可以实现对网关请求的处理&#xff0c;可以使用 Gateway 提供的&#xff0c;也可以自定义过滤器 2. 路由过滤器 GatewayFilter&#xff08;默认不生效&#xff0c;只有配置到路由后才会生效&#x…

【原创 附源码】Flutter安卓及iOS海外登录--Apple登录最详细流程

最近接触了几个海外登录的平台&#xff0c;踩了很多坑&#xff0c;也总结了很多东西&#xff0c;决定记录下来给路过的兄弟坐个参考&#xff0c;也留着以后留着回顾。更新时间为2024年2月12日&#xff0c;后续集成方式可能会有变动&#xff0c;所以目前的集成流程仅供参考&…

【GameFramework框架内置模块】1、全局配置(Config)

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录&#xff1a; https://blog.csdn.net/q7…

AtCoder Beginner Contest 340(A-G)

A - Arithmetic Progression (atcoder.jp) 1.思路&#xff1a;循环输出即可 2.代码&#xff1a; #include <bits/stdc.h> #define rep(i,z,n) for(int i z;i < n; i) #define per(i,n,z) for(int i n;i > z; i--) #define PII pair<int,int> #define fi f…

【51单片机】串口(江科大)

8.1串口通信 1.串口介绍 2.硬件电路 3.电平标准 电平标准是数据1和数据0的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种: 电平标准是数据1和数据O的表达方式,是传输线缆中人为规定的电 压与数据的对应关系,串口常用的电平标准有如下…

Microsoft Excel 加载数据分析工具

Microsoft Excel 加载数据分析工具 1. 打开 Excel&#xff0c;文件 -> 选项2. 加载项 -> 转到…3. 分析工具库、分析工具库 - VBA4. 打开 Excel&#xff0c;数据 -> 数据分析References 1. 打开 Excel&#xff0c;文件 -> 选项 2. 加载项 -> 转到… ​​​ 3…

2013-2022年上市公司迪博内部控制指数、内部控制分项指数数据

2013-2022年上市公司迪博内部控制指数、分项指数数据 1、时间&#xff1a;2013-2022年 2、范围&#xff1a;上市公司 3、指标&#xff1a;证券代码、证券简称、辖区、证监会行业、申万行业、内部控制指数、战略层级指数、经营层级指数、报告可靠指数、合法合规指数、资产安全…

蓝桥杯-X图形

问题描述 给定一个字母矩阵。一个 X 图形由中心点和由中心点向四个 45度斜线方向引出的直线段组成&#xff0c;四条线段的长度相同&#xff0c;而且四条线段上的字母和中心点的字母相同。 一个 X 图形可以使用三个整数 r,c,L 来描述&#xff0c;其中 r,c 表示中心点位于第 r 行…

Matplotlib核心:掌握Figure与Axes

详细介绍Figure和Axes&#xff08;基于Matplotlib&#xff09; &#x1f335;文章目录&#x1f335; &#x1f333;引言&#x1f333;&#x1f333; 一、Figure&#xff08;图形&#xff09;&#x1f333;&#x1f341;1. 创建Figure&#x1f341;&#x1f341;2. 添加Axes&am…