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代码放到没有被更改的部分,配合包含漏洞,就可以了。

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

相关推荐
livana.3 小时前
小学scrach入门项目学习幸运大转盘项目
经验分享·学习·其他·scratch
白璽-寰宇光锥舟13 小时前
【寰宇光锥舟】
其他
SccTsAxR1 天前
[初学C语言]关于scanf和printf函数
c语言·开发语言·经验分享·笔记·其他
sitellla1 天前
Testify Go测试工具包入门教程
git·测试工具·其他·golang
牛马的人生4 天前
MATLAB模块库入门:提升你的工程分析效率
开发语言·其他·matlab
ps_xiaowang4 天前
React Query入门指南:简化React应用中的数据获取
前端·其他·react native·react.js
alphacoder1234 天前
RollupJavaScript模块打包器入门教程
其他
牛马的人生4 天前
GitLab入门教程:打开DevOps全流程的大门
运维·其他·gitlab·devops
71-34 天前
C语言——循环的嵌套小练习
c语言·笔记·学习·其他
沙砾59bf7de1ca29acb25 天前
厦门旅游记录
其他