upload-labs文件上传漏洞通关

一、环境搭建

upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。

下载地址:https://github.com/c0ny1/upload-labs/releases

在 win 环境下 直接解压到phpstudy下即可

二、通关

(一)16关

解题思路;生成带有php代码的图片上传,配合包含漏洞拿下此关。

具体示例

将`<?php phpinfo(); ?>`添加到111.gif的尾部.

成功上传含有一句话的111.gif,再将上传的图片下载到本地.

我们使用16进制编辑器将其打开.可以看到下载下来的文件名已经变化,所以这是经过二次渲染的图片.

使用HxD Hex Editor进行比较

下载地址:HxD - Freeware Hex Editor and Disk Editor | mh-nexus

我们将代码写到没有变化的位置.

上传后在下载到本地使用16进制编辑器打开

(二)17关

第十七关主要是把二次渲染绕过

imagecreatefromjpeg()函数

二次渲染是由Gif文件或 URL 创建一个新图象。成功则返回一图像标识符/图像资源,失败则返回false,导致图片马的数据丢失,上传图片马失败。

进行通关

按照原来的方法进行上传,我们可以发现还是可以上传的,但是配合包含漏洞却无法解析,这时我们把上传的图片复制下来用Notepad打开,发现我们原来写的php代码没有了,这就是二次渲染把我们里面的php代码删掉了。

我们把原图和他修改过的图片进行比较,看看哪个部分没有被修改。将php代码放到没有被更改的部分,配合包含漏洞,就可以了。

然后比较,具体参考上面一题

相关推荐
ye150127774551 天前
DC6v-36V转3.2V1A恒流驱动芯片WT7017
单片机·嵌入式硬件·其他
草莓熊Lotso2 天前
《详解 C++ Date 类的设计与实现:从运算符重载到功能测试》
开发语言·c++·经验分享·笔记·其他
草莓熊Lotso3 天前
《吃透 C++ 类和对象(中):const 成员函数与取地址运算符重载解析》
c语言·开发语言·c++·笔记·其他
老陈头聊SEO5 天前
AI增强SEO关键词表现
其他
草莓熊Lotso5 天前
《吃透 C++ 类和对象(中):拷贝构造函数与赋值运算符重载深度解析》
开发语言·c++·经验分享·笔记·其他
晨非辰6 天前
#C语言——学习攻略:自定义类型路线--结构体--结构体类型,结构体变量的创建和初始化,结构体内存对齐,结构体传参,结构体实现位段
c语言·开发语言·经验分享·学习·其他·学习方法·visual studio
草莓熊Lotso6 天前
《吃透 C++ 类和对象(中):构造函数与析构函数的核心逻辑》
c++·经验分享·笔记·程序人生·其他
草莓熊Lotso7 天前
【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day2
c语言·经验分享·笔记·其他
草莓熊Lotso7 天前
《吃透 C++ 类和对象(上):封装、实例化与 this 指针详解》
开发语言·c++·经验分享·笔记·其他
晨非辰8 天前
#C语言——刷题攻略:牛客编程入门训练(八):分支控制(二)
c语言·开发语言·经验分享·学习·其他·学习方法·visual studio