文件上传进阶绕过(二)4个技巧和靶场实战

news2024/11/15 0:29:57

★★免责声明★★
文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

0、环境准备

请移步《文件上传靶场实战:upload-labs第1-3关》

1、.号绕过原理

Windows系统下,文件后缀名最后一个点会被自动去除。 靶场实验:Pass-07

2、特殊符号绕过原理

Windows系统下,如果上传的文件名中test.php::$DATA会在服务器上生成一个test.php的文件,其中内容和所上传文件内容相同,并被解析。 靶场实验:Pass-08

3、路径拼接绕过原理

在没有对上传的文件进行重命名的情况下,用户可以自定义文件名并在服务器中上传新建,就会造成对应的绕过黑名单。

例如:用户新建 1.php.+空格+. deldot删除最后一个点之后,不再进行删除,trim删除空格,那么最终上传的文件名为 1.php.,利用Windows自动去除最后一个点,导致成功上传1.php。靶场实验:Pass-09

4、双写绕过原理

代码编写过程中,只对黑名单中的内容进行空替换,因为只替换一次所以造成双写绕过。str_ireplace() 函数替换字符串中的一些字符(不区分大小写)。靶场实验:Pass-10

str_ireplace() 函数必须遵循下列规则:
如果搜索的字符串是一个数组,那么它将返回一个数组。
如果搜索的字符串是一个数组,那么它将对数组中的每个元素进行查找和替换。
如果同时需要对数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余元素将用空字符串进行替换
如果是对一个数组进行查找,但只对一个字符串进行替换,那么替代字符串将对所有查找到的值起作用。
注释:该函数不区分大小写。请使用 str_replace() 函数来执行区分大小写的搜索。
注释:该函数是二进制安全的。

来源:https://www.runoob.com/php/func-string-str-replace.html

5、Pass-07

5.0、攻击思路

上传一句话木马的文件info.php,打开Burp Suite拦截,在文件名后面加上点号【英文符号】,然后点Forward提交成功。

5.1、BurpSuite拦截

在这里插入图片描述

5.2、木马解析成功

回到文件上传页面,右击新标签页面打开,木马解析成功。

在这里插入图片描述

6、Pass-08

6.0、攻击思路

上传一句话木马的文件info.php,打开Burp Suite拦截,在文件名后面加::$DATA,然后点Forward提交成功。

6.1、BurpSuite拦截

在这里插入图片描述

6.2、木马解析成功

回到文件上传页面,右击新标签页面打开,需要手动删除路径中的::$DATA,木马解析成功。
在这里插入图片描述
在这里插入图片描述

7、Pass-09

7.0、攻击思路

上传一句话木马的文件info.php,打开Burp Suite拦截,在文件名后面加【.空格.】. .,然后点Forward提交成功。

7.1、BurpSuite拦截

在这里插入图片描述

7.2、木马解析成功

回到文件上传页面,右击新标签页面打开,木马解析成功。
在这里插入图片描述

8、Pass-10

8.0、攻击思路

上传一句话木马的文件info.php,打开Burp Suite拦截,在文件后缀名修改为双写.php-->.pphphp,然后点Forward提交成功。

8.1、BurpSuite拦截

在这里插入图片描述

8.2、木马解析成功

回到文件上传页面,右击新标签页面打开,木马解析成功。
在这里插入图片描述

9、下期内容预告

下期继续分享文件上传进阶绕过技巧(三)和靶场实战,敬请关注我的公众号:大象只为你,持续更新中…

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

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

相关文章

小迪安全第二天

文章目录 一、Web应用,架构搭建二、web应用环境架构类三、web应用安全漏洞分类总结 一、Web应用,架构搭建 #网站搭建前置知识 域名,子域名,dns,http/https,证书等 二、web应用环境架构类 理解不同web应用组成角色功能架构 开发…

基于JavaWeb+BS架构+SpringBoot+Vue+Hadoop短视频流量数据分析与可视化系统的设计和实现

基于JavaWebBS架构SpringBootVueHadoop短视频流量数据分析与可视化系统的设计和实现 文末获取源码Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 文末获取源码 Lun文目录 目  录 目  录 I 1绪 论 1 1.1开发背景 1 1.2开…

【C++】__declspec含义

目录 一、__declspec(dllexport)如果这篇文章对你有所帮助,渴望获得你的一个点赞! 一、__declspec(dllexport) __declspec(dllexport) 是 Microsoft Visual C 编译器提供的一个扩展,用于指示一个函数或变量在 DLL(动态链接库&…

VueCli-自定义创建项目

参考 1.安装脚手架 (已安装可以跳过) npm i vue/cli -g2.创建项目 vue create 项目名 // 如: vue create dn-demo键盘上下键 - 选择自定义选型 Vue CLI v5.0.8 ? Please pick a preset:Default ([Vue 3] babel, eslint)Default ([Vue 2] babel, eslint) > M…

OpenHarmony——Linux之IR驱动

Linux之IR驱动 背景 在光谱中波长自760nm至400um的电磁波称为红外线,它是一种不可见光。红外遥控成本很低,以前广泛应用在电视,空调等电器的控制上面,现在随着蓝牙遥控器慢慢普及,红外遥控越来越少,但在某…

leetcode 142 环形链表II

题目 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使…

阳光抑郁症测试

大部分人对抑郁症的理解,就是每天无精打采,死气沉沉,可实际上,还有一种阳光抑郁症,完全不是这个样子。这种抑郁症的人,做事情非常有活力,魅力十足,给人感觉十分有自信,但…

2024Flutter岗位面试题总结

StatelessWidget和StatefulWidget的区别是什么? StatelessWidget是一个不可变的类,充当UI布局中某些部分的蓝图,当某个组件在显示期间不需要改变,或者说没有状态(State),你可以使用它。 Statef…

什么是DDOS高防ip?DDOS高防ip是怎么防护攻击的

随着互联网的快速发展,网络安全问题日益突出,DDoS攻击和CC攻击等网络威胁对企业和网站的正常运营造成了巨大的威胁。为了解决这些问题,高防IP作为一种网络安全服务应运而生。高防IP通过实时监测和分析流量,识别和拦截恶意流量&…

MySQL 协议(非常详细适合小白学习)

MySQL 查询过程 MySQL 查询过程大致如下: 1)客户端与服务器端建立连接; 2)客户端登陆 MySQL; 3)客户端向服务器端发起一条请求; 4)服务器端先检查查询缓存,如果命中缓…

ArkUI-X跨平台已至,何需其它!

运行环境 DevEco Studio:4.0Release OpenHarmony SDK API10 开发板:润和DAYU200 自从写了一篇ArkUI-X跨平台的文章之后,好多人都说对这个项目十分关注。 那么今天我们就来完整的梳理一下这个项目。 1、ArkUI-X 我们之前可能更多接触的…

运动模型非线性扩展卡尔曼跟踪融合滤波算法(Matlab仿真)

卡尔曼滤波的原理和理论在CSDN已有很多文章,这里不再赘述,仅分享个人的理解和Matlab仿真代码。 1 单目标跟踪 匀速转弯(CTRV)运动模型下,摄像头输出目标状态camera_state [x, y, theta, v],雷达输出目标状…

windows的换行符与linux风格的换行符不同的问题

问题展示: 说明: 出现这个错误的原因是脚本文件包含了windows风格换行符(‘\r\n’),而在linux环境下,通常使用unix风格的换行符(‘\n’).这个问题通常在windows环境下编辑脚本文件然…

档案数字化加工是如何利用档案的

档案数字化加工是通过将实体档案转化为电子形式,利用数字化技术对档案进行处理和管理。这样做可以带来以下几个方面的利益: 1. 提高档案的可访问性:数字化档案可以轻松存储在电脑或云存储中,可以随时随地通过计算机或移动设备访问…

Zung氏抑郁自评量表SDS

抑郁症是常见的心理障碍,其症状表现为:心境低落、思维迟缓、意志活动减退、认知功能损害、躯体症状等。在生活中常有悲观消沉,灰心丧气,对所有事情都提不起兴趣,严重的还会出现肢体僵硬和耳鸣等症状。 部分人有明显的…

操作系统进程定义和PCB详解

进程的定义和PCB 什么是进程?进程就是一个运行起来(也就是说加载到内存)的一个程序。而程序的本质就是文件,当我们写完代码保存,它便形成了一个保存在磁盘上的二进制代码文件。由于冯诺伊曼体系,cpu只和存储…

RK3568笔记九: DRM显示摄像头

若该文为原创文章,转载请注明原文出处。 一、介绍 学习DRM的目的是想做类似NVR显示多路实时流,通过勇哥(Marc)的指导,大概流程是通过Zlmedia拉流,RK3568的MPP解码,DRM显示,可以使用HDMI或DIS屏幕&#xf…

数据结构学习 jz59 滑动窗口的最大值

关键词:排序 大顶堆 双端队列 题目: 望远镜中最高的海拔 方法一:维护一个辅助队列。 方法二:大顶堆。 我还在主站 239 写了找最小值的方法。 方法一:最优解 这个方法和jz30维护一个非严格递减的辅助栈是基本一样的…

15.鸿蒙HarmonyOS App(JAVA)进度条与圆形进度条

15.鸿蒙HarmonyOS App(JAVA)进度条与圆形进度条 progressBar2.setIndeterminate(true);//设置无限模式,运行查看动态效果 //创建并设置无限模式元素 ShapeElement element new ShapeElement(); element.setBounds(0,0,50,50); element.setRgbColor(new RgbColor(255,0,0)); …

jetson nano VNC远程桌面配置及使用(nomachine)

文章目录 jetson nano VNC远程桌面配置及使用1.Nomachine介绍2.在电脑端安装Nomachine3.在Jetson Nano端安装Nomachine4.电脑端连接及使用步骤5.修改分辨率6.NoMachine常见问题6.1 黑屏6.2 白屏 jetson nano VNC远程桌面配置及使用 本节适用于Jetson Nano没有单独显示器可以给…