upload-labs

01

随便上传个文件

发现对于上传类型有限制

查看页面代码发现是js的过滤直接关闭js

上传成功

右键图片在新建标签页打开文件

这里直接抓包改名字也行

02

抓包修改后缀名

03

发现后端做了检测抓包修改失败

大小写绕过失败,php特性php1等会被当成php执行

这里图片的名称已经不是我们传递进去的名称了在响应里面看到

这里是因为phpstudy的http配置文件中没有允许.php3格式所以显示不了

04

这里和上面的差别在于没有对我们传入的文件名做改变

php3也被过滤了使用.htaccess

htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

我们在htaccess文件中可以添加

AddHandler php5-script .jpg             使用php5-script将特定的拓展文件映射为php文件AddType application/x-httpd-php .jpg    将特定的拓展文件映射为php文件Sethandler application/x-httpd-php 将当前目录下所有文件都映射为php文件

上传.htaccess

05

这里没有对我们传入的文件进行大小写转换

访问

06.

这里没有对文件后面的空格进行处理,可以在文件后面加上空格,由于windows特性,文件名后空格会被直接删除

07

这里没有对文件后面的.做处理

08

这里没有对后缀名有没有::$DATA进行判断,利用windows系统NTFS特征可以绕过上传

在window的时候如果文件名+"::$DATA"会把::$DATA之后的数据当成文件流处理,不会检测后缀名,且保持::$DATA之前的文件名,其实和空格绕过点绕过类似

09

这里对于.和空格的检测只进行一次我们使用. .先进行.的处理再到 的处理就可以逃逸最先的.

10

这里的对于后缀名的处理和之前不一样,这里采用将匹配到的后缀名替换为空使用双写绕过

11

这里使用%00截断

利用条件

php版本小于 5.3.4
php.ini 中magic_quotes_gpc设置为off原理上传 www.xxx.com/xxx.php%00a.jpg --> www.xxx.com/xxx.php
后面是截断后的成果%00后面不加数据也没关系

12.

第12和11不同在于接收方式不同,12是通过post的方式接收的

这里要对%00进行urldecode编码

13.

制作图片码

14.

和上一题的差别在于通过getimagesize函数对目标的十六进制的前几个字符串进行读取。png的文所以这关和第十三关一样,我们只需要用打开图片马,在前面加上GIF89A,保存为14.png,然后和上题一样

15.

用了exif_imagetype() 读取一个图像的第一个字节并检查其签名和13,14关一样。


 

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

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

相关文章

android bitmap保存本地背景是黑色的 解决方法

前言 最近在项目种有个电子签名功能 需要客户手写签名 然后保存本地 上传云端 //获取bitmapBitmap bitmapFromView mSignatureView.getBitmapFromView();BitmapUtil.saveImageToGallery(this, bitmapFromView);压缩为JPEG格式 saveImageToGallery 方法我做了修改 之前用的Bit…

STM32-定时器输入捕获

目录 一、输入捕获简介 二、频率测量方法 三、输入捕获框图 四、输入捕获通道 五、输入捕获基本结构 六、PWMI基本结构 七、开发步骤 八、输入捕获库函数 九、实验 9.1 输入捕获测频率 9.2 PWMI模式测频率和占空比 一、输入捕获简介 >IC(Input Capture&…

GD32F30X-RT-Thread学习-线程管理

1. 软硬件平台 GD32F307E-START Board开发板MDK-ARM Keil 2.RT-Thread Nano 3.RT-Thread 内核学习-线程管理 ​ 在多线程操作系统中,可以把一个复杂的应用分解成多个小的、可调度的、序列化的程序单元,当合理地划分任务并正确地执行时,这…

计算机网络(三) | 数据链路层 PPP协议、广播CSMA/CD协议、集线器、交换器、扩展and高速以太网

文章目录 1 数据链路基本概念和问题1.1 基本概念1.2 基本问题(1)封装成帧(2)透明传输(3)差错控制 2.数据链路层协议2.1 点对点 PPP协议2.1.1 需要实现的2.1.2 PPP组成2.1.3 帧格式2.1.4 工作流程 2.2 广播 …

tamcat乱码

学习springmvc时tamcat乱码 ①、启动时tomcat控制台乱码 解决方法是:1、先把idea设置里的默认字节码改成utf-8 ​ 2、把idea显示编码改成utf-8,在末尾加上( -Dfile.encodingUTF-8) ​ 3、最后重启idea 加上这个 -Dfile.encodingU…

基于Java swing的医院信息管理系统(Java毕业设计)

大家好,我是DeBug,很高兴你能来阅读!作为一名热爱编程的程序员,我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里,我将会结合实际项目经验,分享编程技巧、最佳实践以及解决问题的方法。无论你是…

ffmpeg过滤器filter理论与实战

文章目录 前言一、DirectShow1、简介2、程序基本结构3、架构 二、过滤器1、视频过滤器 -vf2、音频过滤器 -af3、过滤器链(Filterchain)4、过滤器图(Filtergraph)①、基本语法②、Filtergraph 的分类 5、结构体间的关系图 三、过滤…

论文怎么改才能降低重复率

一、引言:智能工具助力,轻松降低论文重复率 论文的重复率是学术写作中的重要问题,如何有效降低重复率成为了许多研究者的关注焦点。如今,智能工具的发展为我们提供了更多选择。本文将介绍几种实用的智能工具,包括快码…

P14 Linux进程间通信——消息队列.........

目录 前言 01 消息队列 02 如何创建队列 小结 前言 🎬 个人主页:ChenPi 🐻推荐专栏1: 《Linux C应用编程(概念类)_ChenPi的博客-CSDN博客》✨✨✨ 🔥 推荐专栏2: 《C_ChenPi的博客-CSDN博客》…

spider小案例~https://industry.cfi.cn/BCA0A4127A4128A4141.html

一、获取列表页信息 通过抓包发现列表页信息非正常返回,列表信息如下图: 通过观察发现列表页信息是通过unes函数进行处理的,我们接下来去看下该函数 该函数是对列表页的信息先全局替换"~"为"%u",然后再通过…

Linux基础指令(2)

今天我们继续来学我们有关于Linux的指令,今天的指令要比上次多多了。开始我们的学习吧。 man手册 先来看标题,手册我们第一时间想到的就是手册的查阅功能,我们都知道在我们上小学的时候,如果遇到不会的字,我们会通过…

2023年度盘点:智能汽车、自动驾驶、车联网必读书单

【文末送书】今天推荐几本自动驾驶领域优质书籍 前言 2023年,智能驾驶和新能源汽车行业仍然有着肉眼可见的新进展。自动驾驶技术继续尝试从辅助驾驶向自动驾驶的过渡,更重要的是相关技术成本的下降。根据《全球电动汽车展望2023》等行业报告&#xff0c…