首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

源码级剖析PHP 7.2.x GD拒绝服务漏洞

触发这个问题的代码如下: $im=imagecreate(100,100); imageantialias($im,true); imageline($im,0,0,10,10,0xffffff); 话不多说...如果我们调用imageantialias函数打开这个功能,那么就会走这里来。 上面图里就是我们从php调用的imageline函数的实现啦,非常简单。...这里问题就在于,我们创建(imagecreate)的图片不是真彩色的图,而后我们手动开启了防锯齿(imageantialias),调用进去想当然地把它当作一张真彩色图,从而导致了错误。...最后我们来看看两个函数的不同: 跟进去,可以看到imagecreate函数调用的gdImageCreate里直接把真彩色相关的成员设为了null。...与之对比,imagecreatetruecolor函数调用的gdImageCreateTrueColor函数里为每个像素点都分配了对应内存并初始化为0了: 总结一下,从上面分析可以看出,触发这个问题的条件有

1.2K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    一起学习PHP中GD库的使用(二)

    ,它和 imagecreate() 的区别就在于 imagecreate() 创建的是一张基于调色板的图片。...它们为画布填充颜色的流程不一样,imagecreate() 不需要使用 imagefill() 进行填充背景色,直接使用 imagecolorallocate() 就会以第一次调用的 imagecolorallocate...// 填充背景色 imagefill($img, 0, 0, $black); 弧线、直线、矩形 不管是画线还是画弧线,都只是一些简单的函数调用。...不过,使用这些函数对图片进行内容书写的话,最主要的一个问题就是不能指定字体,这样在默认情况下中文是没办法输出的。所以,我们一般会用另一个函数来为图片加上文字。...毕竟这些函数的参数都还是挺长挺乱的,除非天天用,要不可真记不住。

    89640

    PHP图形图像处理

    创建画布 resource imagecreate(int x,int y)//创建画布 resource imagecreatetruecolor(int x,inty) 销毁画布 当图像处理完成后,...可以使用imagedestroy()函数销毁图像资源来释放内存。...导入外部画布 在GD库中,有一组专门用于导入外部图像的函数: imagecreatefromgif():创建画布并从GIF文件或URL载入一副图像 imagecreatefromjpeg():创建画布并从...创建画布并从WBMP文件或URL载入一副图像 imagecreatefromstring():创建画布并从字符串中的图像流新建一幅图像 输出图像 PHP允许将图像以不同格式输出,而且每个格式都有专门的函数输出...():取消以上由两种函数为图像分配的颜色 绘制基本几何图形 函数 说明 imageline() 绘制线段 imagearc() 绘制圆弧 imagerectangle() 绘制矩形 图像填充 函数 说明

    1.2K20
    领券