Upload-labs第17关 二次渲染 gif图方法

本文介绍了Upload-labs第17关的挑战,重点在于理解如何利用二次渲染机制将PHP代码注入到GIF图片中。通过对比原图与渲染后的图片Hex码,找到不受渲染影响的区域,用覆盖方式植入代码,成功绕过保护,即使图片失真但系统仍识别为GIF。关键工具包括WinHex用于Hex对比和修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

吃了很多挫折,最终复现出来的靶场学习记录。

原理简析:上传的gif图片会被源码函数二次渲染成新的图片,接着存进后台,因此用文件包含调用时,调用的已经不是原图,原图中隐藏的代码也被渲染所覆盖。

思路:通过对比原图与渲染后的图的Hex码,找到渲染所不会影响的hex区域(文件头标志除外),用【覆盖】的方式,替换掉不受渲染影响区域的字符,举例:

<?php phpinfo();?>

这串字符一共有18个字母符号,那么就从受渲染影响区域的边界开始,倒数18个字符(尽量避免影响到文件头标志信息),替换成以上代码,最终成功执行(成功的重要标志是,修改后gif图会花掉,但系统仍认可其为gif图,即预览出花的图)。

(左边是修改后的失真图,右边是原图)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值