文件上传漏洞--Upload-labs--Pass17--条件竞争

一、条件竞争原理(结合代码审计)

1、首先进行代码审计,查看源代码。

我们可知,将文件上传至服务器后,不会被立即删除,而是做短暂的停留,中间会有一小部分时间差,这部分时间差是代码进行if判断的时间,这部分时间足够执行一句代码,我们利用这段时间差和一段代码就可以达到上传含有恶意代码的非法文件的目的,这就是“条件竞争”。

2、test.php 中的内容。

执行代码,创造一个名为 shell.php 的文件,shell.php 中写有 <?php phpinfo() ?>。这样我们在test.php 在后台短暂停留的时间内,只要访问它并执行代码,它就会在 upload 中创建 shell.php文件,达到上传非法文件的目的。


二、通关思路

1、上传 test.php 文件,使用 Burpsuite 进行拦截,并将拦截信息发送至 intruder模块进行爆破访问,attack-type选择sniper狙击手模式。 如图操作:

首先添加爆破位置。

其次设置 payloads 值。

准备就绪后不要着急进行 attack。

2、在新标签页中访问test.php。

我们通过 attack不断发送 test.php,也要有相应的措施来访问test.php,因为只有访问test.php,shell.php才会被创建在uoload中。

再次访问test.php,利用Burpsuite进行抓包拦截,发送至 intruder模块爆破,如图:

无限制的访问 test.php。

3、先开始 上传test.php的attack,再进行访问test.php的attack。若访问速度过慢,可以适当提高线程数。

打开upload文件夹,shell.php被成功创建。

在新标签页中访问shell.php,php代码成功执行。

---通关。

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

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

相关文章

华为OD机试真题C卷-篇4

200分值题 员工派遣快递员的烦恼符号运算伐木工反射计数分披萨推荐多样性贪心的歌手螺旋数组矩阵(100) 员工派遣 nums [int(x) for x in input().split(" ")] x nums[0] y nums[1] count_x nums[2] count_y nums[3] left 1 right pow(10, 9) while (True) :if…

vue 实现docx文件在线预览

预览请求步骤&#xff1a; 准备一个需要预览的文件地址【如:https://usdoc.cn/vw/文件模板.docx】GET 参数到请求地址将拼接好的地址放在浏览器中&#xff0c;开始预览 请求地址&#xff1a;https://vw.usdoc.cn/ 请求方式&#xff1a;GET 请求参数: 字段名称字段类型必填参数…

大珩助手:办公软件插件的革新者

导语&#xff1a;在当今快节奏的工作环境中&#xff0c;高效办公已成为每位职场人士的追求。为了满足这一需求&#xff0c;各种办公软件插件应运而生。其中&#xff0c;大珩助手凭借其卓越的功能和便捷的操作&#xff0c;成为了众多用户的首选。本文将详细介绍大珩助手的特点、…

WebRTC 中带宽估计与拥塞控制算法

WebRTC 中的带宽估计与拥塞控制算法有很多&#xff0c;以下是其中几种&#xff1a; - GCC&#xff08;Google Congestion Control&#xff09;&#xff1a;基于丢包的带宽估计&#xff0c;其基本思想是根据丢包的多少来判断网络的拥塞程度。丢包越多则认为网络越拥塞&#xff…

融合创新,加速增长!Fortinet发布2023第四季度及全年财报

近日&#xff0c;专注于推动网络与安全融合的全球网络安全领导者 Fortinet&#xff08;Nasdaq&#xff1a;FTNT&#xff09;&#xff0c;发布其截至2023年12月31日的2023年第四季度及2023年全年财报。 Fortinet 创始人、董事长兼首席执行官谢青表示&#xff1a;“2023 年第四季…

bib文件导入endnote

Endnote 看起来还挺好用? 我自己很早之前在github建一个私有仓库管理文献&#xff0c;像个憨憨一样… 我想直接把我目录下的几个 *.bib 文件导入到 Endnote, 但是这样操作就是不行&#xff0c;很奇怪(也妹有中文目录啊) 参考 知乎老哥的内容 https://zhuanlan.zhihu.com/p/46…

Linux SSL证书生成及nginx配置

安装openssl [rootiZf8z2qki98kfvb8k3iy3aZ ~]# yum install openssl Last metadata expiration check: 0:08:40 ago on Tue 20 Feb 2024 02:57:39 PM CST. Package openssl-1:1.1.1k-9.0.1.al8.x86_64 is already installed. Dependencies resolved. Nothing to do. Complete…

2024年单服务器部署Mongodb三节点副本集自动化部署脚本

该脚本是为了方便自己学习和工作中部署服务器从而节省时间进行编写&#xff0c;目前能正常部署&#xff0c;创建集群&#xff0c;管理员用户&#xff0c;以及连接都没问题&#xff0c;但是没有开启验证&#xff0c;后续找时间补充。 完整的教程请参考一下我写的技术文章。 20…

渲染效果图有哪几种分类?效果图为什么用云渲染更快

云渲染利用了集群化的云端服务器资源&#xff0c;通过并行计算充分发挥了高性能硬件的优势&#xff0c;显著提升了渲染的速度。这一技术特别适用于处理规模庞大或细节丰富的渲染任务&#xff0c;在缩短项目完成时间方面表现卓越。无论是用于为建筑提供精确的可视化效果图&#…

【Python Scrapy】分布式爬虫利器

在当今信息爆炸的时代&#xff0c;获取大规模数据对于许多应用至关重要。而分布式爬虫作为一种强大的工具&#xff0c;在处理大量数据采集和高效爬取方面展现了卓越的能力。 本文将深入探讨分布式爬虫的实际应用场景&#xff0c;通过代码示例演示其在提升爬取效率、保障系统稳定…

K8s Deployment挂载ConfigMap权限设置

目录 样例 1. 样例 …… volumes: - configMap:defaultMode: 420name: ${Existed_configmap_name} …… 其中“defaultMode: 420”是设置权限的 2. 解析 在K8s&#xff08;Kubernetes&#xff09;中&#xff0c;defaultMode是用来设置Configmap挂载后的文件权限&#xff0…

【工作记录】AQS学习笔记

简介 在Java中&#xff0c;AbstractQueuedSynchronizer&#xff08;AQS&#xff09;是Java并发包(java.util.concurrent.locks)中一个用于构建锁和同步器框架的基础类。提供了一种实现阻塞锁和其他同步组件的底层机制。 基本原理概述 它的核心原理包括以下关键点&#xff1a…

C++知识点总结(17):贪心算法

贪心算法 一、文件操作1. 加头文件2. 加函数3. 写输入 二、贪心算法1. 概念2. 洛谷P2240 最多的金币2.1 审题2.2 解题思路2.3 参考答案 3. 洛谷P2240反向3.1 审题3.2 参考答案 4. 贪心的资本家4.1 审题4.2 参考答案 一、文件操作 1. 加头文件 #include <cstdio>cstdio …

牛刀小试 - C++ 学生信息管理系统

参考文档&#xff1a; C实现&#xff1a;学生管理系统&#xff08;详细解析&#xff09; 关于switch中的default里面的break是否可以省略这件事 需求要求&#xff1a; &#xff08;1&#xff09;增加记录 &#xff08;2&#xff09;查找记录 &#xff08;3&#xff09;删除…

FFmpeg进阶-给视频添加马赛克效果

很多时候为了隐藏视频中的敏感信息如人脸、身份证号、车牌号等,我们会采用马赛克算法对视频帧中的一部分内容进行处理。这里介绍一下如何采用FFmpeg实现马赛克效果。 马赛克效果算法的原理如下: 1.分块处理:首先将图像划分为多个小块或区域 2.像素替换:对于每个小块,算法会将…

【Windows11】内存使用率只有总内存容量的一半

硬件配置&#xff1a;2根16G的内存条&#xff08;金百达DDR4 3600, 海力士颗粒&#xff0c;灯条刃&#xff09;&#xff0c;插在2和4通道上 系统配置&#xff1a;windows11 问题描述&#xff0c;我和这位网友的问题一模一样&#xff1a; 系统32G内存&#xff0c;开机完全识别&…

实习日志17

1.测试公司服务器 1.1.太卡了&#xff0c;点一下卡半天 上传项目源码和文件&#xff1a; 将活字格项目源码和所有相关文件上传到服务器的指定目录。可以使用向日葵远程控制或者版本控制系统来进行文件上传。 重新配置活字格项目&#xff1a; 根据服务器环境&#xff0c;需要对…

Java 学习和实践笔记(14):用表格来理解类、对象、属性以及动作(方法)很容易

OOP :面向对象编程&#xff0c;object oriented programming. 用表格就可以很好地理解类、对象、属性、以及动作这些概念。 一个表&#xff08;结构&#xff09;就对应一个类&#xff08;结构&#xff09;。所以凡叫什么类&#xff0c;自己就在心里把它叫什么表。反过来&…

设计模式-创建型模式-简单工厂模式

0 引言 简单工厂模式&#xff08;Simple Factory Pattern&#xff09;&#xff1a;定义一个工厂类&#xff0c;它可以根据参数的不同返回不同类的实例&#xff0c;被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态&#xff08;static&#xf…

vue 非父子通信-event bus 事件总线

1.作用 非父子组件之间&#xff0c;进行简易消息传递。(复杂场景→ Vuex) 2.步骤 创建一个都能访问的事件总线 &#xff08;空Vue实例&#xff09; import Vue from vue const Bus new Vue() export default Bus A组件&#xff08;接受方&#xff09;&#xff0c;监听Bus的…