[HarekazeCTF2019]Avatar Uploader 1

这篇博客探讨了HarekazeCTF2019挑战中Avatar Uploader 1的问题。文章指出,通过分析源码,发现系统依赖getimagesize()和file_info来验证图片类型。关键在于getimagesize()需要完整的PNG头部信息,而file_info仅通过文件前几字节就能识别PNG。因此,通过截取PNG头部信息,可以绕过getimagesize()的检查,成功上传伪装的PNG文件,从而获取flag。
摘要由CSDN通过智能技术生成

[HarekazeCTF2019]Avatar Uploader 1

首先就是一个普通界面

在这里插入图片描述

常规思路看cookie 路径啥的都没有有用的信息

这个界面是可以直接登录的

题目中也给出了源码

在这里插入图片描述

首先 是基本的对图片的识别

最后获得flag的位置为size处也就是 getimagesize()函数的识别

在检查文件类型时,finfo_file()函数检测上传图片的类型是否是image/png
在检查文件长宽时,getimagesize() 函数用于获取图像大小及相关信息,成功将返回个数组

也就是说要finfo_file()识别为png,而getimagesize()不识别为png

file_info可以识别 png 图片( 十六进制下 )的第一行(注意第一行),

getimagesize() 函数用于获取图像大小及相关信息,成功返回一个数组

<?php
$array = getimagesize("C:\/Users\/lenovo\/Desktop\/1.png");
print_r($array);
?>

#回显
A
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值