文件上传漏洞详解(持续更新…)

news2024/9/19 2:18:56

第一关

步骤一,打开第一关先点击浏览上传一个jpg格式的图片

8588e3ee6fa4425cbd4b15ac1bb19779.png

c45ff1d0f4e94c7cb8aad8bf660b30d1.png

步骤二,打开BP修改jpg为php然后放包

398fa26806094f8596f68af2c6901665.png

d461d21801314095ac6cb7a596dbc184.png

步骤三,右键打开图像

成功解析

b4e62cd90c9946798dfc1032e4e539ac.png

步骤四,打开蚁剑

bf842213d6a648fea46e87f34352cde8.png

48f2c3dd301e4958a553e66ea882c0d1.png

第一关还是蛮简单的

第二关

步骤一,打开第二关先点击浏览上传一个jpg格式的图片

12d596b7f00f415a8fe8d321091bcc5a.png

步骤二,打开BP修改jpg为php然后放包

步骤三,右键打开图像

步骤四,打开蚁剑

一二关步骤一样...

第三关

步骤一,我们尝试看看能不能上传1.php

我们获得提示:不允许上传.asp,.aspx,.php,.jsp后缀文件!

6294ba9b7efa4f86b91c06e7fc002bc7.png

步骤二,我们尝试改一下文件名称后面加个数字1.php5

dc73fe39fb2d402db14065eed5c1c4d9.png

步骤三,右键打开图像

成功解析

fde99ca08b7446d1a90c000cfb491937.png

第四关

环境不行得需要在fofa找一个靶场

编写.htaccess文件,内容解释:将1.jpg文件解析成php文件
<FilesMatch "1.jpg">
SetHandler application/x-httpd-php

</FilesMatch>

步骤一,上传.htaccess文件

3aebd7460b4b4599af14301a919458d3.png

步骤二,在上传一个1.jpg

dfa2782ac2be42789ef1344ede52b6d5.png

步骤三,右键打开图像

成功解析

be68177b6dbb44f7905f04bfd8ce68ab.png

第五关

文件包含操作
auto_prepend_file ="x.jpg"表示加载第一个PHP代码之前执行指示(包含的)文件

步骤一,上传.htaccess文件.user.ini文件内容

134d453b5f6c43fdbc7227e7123aaebd.png

步骤二,在上传一个1.jpg

a459ccd4174f40b8adddeb34bbbda697.png

步骤三,访问readme.php文件

eaf4299859b040b6bb8899cd164f960f.png

第六关

步骤一,使用大小写绕过

af2d1e481c474b59ab3c408548f42f27.png

步骤二,右键打开图像

成功解析

791a92351c0644278ff7c7fa2b77974a.png

第七关

步骤一,打开BP1.php后面加个空格

65c1531fd928424bbedeb40e439d8453.png

fd958450d1b94894a7589070e8d3f401.png

步骤二,右键打开图像

成功解析

8445dc7b7a414ca3b6855707d438a8ae.png

第八关

步骤一,打开BP在文件名称后面加个'.'

78c4625b688c4fdf8b42da7cb849ef1b.png

步骤二,右键打开图像

成功解析

6e324f9ddce24a76aa4edc53946ab62b.png

第九关

步骤一,打开BP在文件名称后面加个'::$DATA'

c11248642eed4ad682bcfe669017f7df.png

e5dbf70468a442d0a70d78d5af0b963e.png

步骤二,右键打开图像

成功解析

2d08ab9d59df4005894a4c92973952a0.png

第十关

步骤一,打开BPphp后面加上'. .'

2eebba402ce44d52adac9bfe876ae149.png

f8706f5761c94436a73ecb6e34424c81.png

步骤二,右键打开图像

成功解析

c1dc966918d0409dbb1ecf9afbecd606.png

第十一关

双写后缀名绕过

步骤一,点击浏览上传php文件

62536c8aab0e42b292e62622be3594fc.png

步骤二,右键打开图像

成功解析

66df2f36c43145be88f2b72caf76aaf6.png

第十二关

步骤一,打开BP

在第一行添加xxx.php%00

把php改为jpg

3df32e2d4f104a85ba6719db953a68c1.png

步骤二,右键打开图像

删掉php后面的东西

0ffddff2584f4a84b46f6afe6f30511c.png

成功解析

fe2e68cff4534315a3d971c652189e41.png

第十三关

这段代码同样是⽩名单限制后缀名,$_POST['save_path']是接收客户端提交的值,客户端可任意修改。所以会产⽣安全漏洞;
POST 下直接注⼊%00 是不⾏的,需要把%00 解码变成空⽩符,截断才有效。才能把⽬录截断成⽂件名;

步骤一,打开BP

添加xxx.php (空格)

把php改为jpg

c9b7ca5d289048d59b854ac6727be790.jpeg

将%00的hex码更改为00,然后上传

8ecfb678d2d048ef89b08e76b556396a.png

步骤二,右键打开图像

删掉php后面的东西

c7446ee882d240bb8d1e0c8bcb30894b.png

成功解析

03f5a0889c6841c3ba5d45986d4e67a9.png

第十四关

⽂件头代表了⽂件是那种类型,我们上传的⽂件内容如果是只有php代码,那么程序在对我们的⽂件头部进⾏检查时,如果发现没有允许上传⽂件类型的⽂件头,就会对我们上传⽂件进⾏拦截。

步骤一,制作图⽚⼀句话,使⽤copy 1.gif/b+123.php/a shell.jpg将 php ⽂件附加在 jpg 图⽚上,直接上传即可;
/b代表以⼆进制编码打开⽂件,/a代表以ASCII码编码打开⽂件

步骤二,上传shell.jpg,图片右键新建标签页打开图片,打开文件包含漏洞,用file读取图片地址

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

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

相关文章

leetcode637. 二叉树的层平均值,广度优先搜索BFS

leetcode637. 二叉树的层平均值 给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。…

跑通llama-factory

1.在ubuntu下安装环境 git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory pip install -e “.[torch,metrics]” pip install --no-deps -e . 在本地windows&#xff0c;打开http://0.0.0.0:7863/&#xff0c;总是显示无法打开界面。 之后在…

!!学习整理知识模块——关于【如何本地搭建Whisper语音识别模型】/请按需收藏!!

成长路上不孤单&#x1f60a;【14后&#xff0c;C爱好者&#xff0c;持续分享所学&#xff0c;如有需要欢迎收藏转发&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#xff01;&#xff01;&#xff01;&#xff01;&#xff…

经验风险最小化和极大似然估计的关系

一、经验风险定义 给定一个训练数据集 T { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T{(x1​,y1​),(x2​,y2​),...,(xN​,yN​)}&#xff0c;模型f(X)关于训练数据集的平均损失称为经验风险&#xff08;Empirical…

冻死你都觉得简单

小说大纲 标题&#xff1a;《学霸的豪门对决》 背景设定&#xff1a; 两个家族在商业界拥有举足轻重的地位&#xff0c;但因为历史原因&#xff0c;两家长期处于竞争状态。主角们在顶级私立学校就读&#xff0c;既是学霸也是家族的继承人。 主要人物&#xff1a; 男主角&a…

【前端开发必备小技巧】前端代码规范Vue篇

文章目录 &#x1f7e2; 前端代码规范&#x1f7e2; 一、前端代码规范Vue篇&#x1f449;1、Vue编码基础&#x1f449;1.1、组件规范&#x1f449;1.2、模板中使用简单的表达式&#x1f449;1.3、指令都使用缩写形式&#x1f449;1.4、 标签顺序保持一致&#x1f449;1.5、必须…

<数据集>车辆识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;3002张 标注数量(xml文件个数)&#xff1a;3002 标注数量(txt文件个数)&#xff1a;3002 标注类别数&#xff1a;21 标注类别名称&#xff1a;[ambulance, army vehicle, auto rickshaw, bicycle, bus, car, garba…

互联网平台大模型网络架构设计

字节跳动&#xff1a;大模型网络实践分享 自2019年起&#xff0c;字节跳动公司便开始着手白盒项目。2020年&#xff0c;推出了首款接入交换机——25G型号&#xff0c;随后逐步实现软硬件的自主研发。在当前一代产品中&#xff0c;已经实现了100G接入、25.6T400G互联&#xff0c…

SprinBoot+Vue实验室考勤管理小程序的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue3.6 uniapp代码 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍&#xff1a;CSDN认证博客专家&#xff0c;CSDN平…

信息学奥赛一本通/openjudge Crossing River

题目 一本通题目入口 openjudge题目入口 &#xff08;注&#xff1a;由于一本通题面描述的可能有些欠缺&#xff0c;所以这里的题面采用openjudge英文翻译后的题面&#xff09; 题目分析 首先我们来看样例&#xff0c;为什么样例的结果是17呢?首先观察&#xff0c;“5”和“…

node环境安装、vue-cli搭建过程、element-UI搭建使用过程

vue-cli 官方提供的一个脚手架&#xff0c;用于快速生成一个 vue 的项目模板&#xff1b;预先定义好的目录结构及基础代码&#xff0c;就好比咱们在创建 Maven 项目时可以选择创建一个骨架项目&#xff0c;这个骨架项目就是脚手架&#xff0c;我们的开发更加的快速 前端项目架…

Spark-Job启动、Stage划分

一、上下文 《Spark-driver和executor启动过程》详细分析了driver和executor的启动&#xff0c;此时资源已经给我们分配好了&#xff0c;且Application也已经注册完成。下面我们就来看看Spark是如何启动job并根据DAG来划分Stage的 二、Job启动 Spark RDD中的算子分为Transfo…

leetcode算法题之 K 个一组翻转链表

照我说这道题其实是披着困难皮的中等题目&#xff0c;问题如下&#xff1a; 题目地址 给你链表的头节点 head &#xff0c;每 k 个节点一组进行翻转&#xff0c;请你返回修改后的链表。 k 是一个正整数&#xff0c;它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍…

深入解析多商户商城系统源码:如何开发直播商城小程序?

本篇文章&#xff0c;小编将深入解析多商户商城系统源码的关键技术&#xff0c;并详细探讨如何基于这些源码开发一个功能完善的直播商城小程序。 一、多商户商城系统源码的核心构架 多商户商城系统源码的核心在于其能够支持多个商户独立运营&#xff0c;但同时又在一个统一的平…

(转载)内存分配器101——写一个简单的内存分配器

文章目录 前提正文Malloc()free()calloc()realloc() 前提 之前学习过手写一个简单的内存分配器&#xff0c;原文是英文的&#xff0c;当初学习的时候便将英文翻译为中文的&#xff0c;方便阅读&#xff0c;当然和原文相比少了点味道。今天整理资料的时候看到了自己的翻译&…

为什么越来越多的助贷中介公司做债务重组?

大家有没有注意到个现象&#xff1f;现在越来越多的助贷中介公司和专门做债务重组的公司一起“合作”了。有的是接了单转手给重组公司&#xff0c;有的则是亲自下场&#xff0c;用自有资金做起了重组的事情。为什么会这样呢&#xff1f;好端端的贷款中介不做&#xff0c;偏要蹚…

RabbitMQ练习(Remote procedure call (RPC))

1、RabbitMQ教程 《RabbitMQ Tutorials》https://www.rabbitmq.com/tutorials 2、环境准备 参考&#xff1a;《RabbitMQ练习&#xff08;Hello World&#xff09;》。 确保RabbitMQ、Sender、Receiver容器正常安装和启动。 rootk0test1:~# docker run -it --rm --name rab…

前端内存泄露案例与解决方案

什么是内存泄漏&#xff1f; 内存泄露&#xff08;Memory Leaks&#xff09;&#xff1a;是指应用程序已经不再需要的内存&#xff0c;由于某种原因未返回给操作系统或者空闲内存池&#xff08;Pool of Free Memory&#xff09;。 内存泄露可能带来的问题&#xff1a;变慢、卡…

SAP LE学习笔记07 - MM与WM跨模块收货到仓库的流程中 如何实现 先上架再入库

上一章讲了LE中收货的一些特殊情况&#xff1a; 1&#xff0c;MM模块收货时&#xff0c;特别移动指标来标识的物料直接产生TO 2&#xff0c;MM中直接收货到仓库的固定Storage Bin(棚番)上 SAP LE学习笔记06 - MM与WM跨模块收货到仓库的流程中 带特别移动指标的物料也可以直接…

spring security 会话管理

一、简介 当浏览器调用登录接口登录成功后&#xff0c;服务端会和浏览器之间建立一个会话(Session)浏览器在每次发送请求时都会携带一个 Sessionld&#xff0c;服务端则根据这个 Sessionld 来判断用户身份当浏览器关闭后&#xff0c;服务端的 Session 并不会自动销毁&#xff0…