如何检查png文件是否是减压炸弹

2024-04-20

我正在尝试将图像上传到网站,我发现在允许上传时可能会发生这些减压炸弹攻击png文件(和其他一些)。由于我要更改上传的图像,我想确保我不会成为这次攻击的受害者。因此,当涉及到检查是否png文件是一个炸弹,我可以读取文件的标题并确保宽度和高度不超过设置的限制,例如 4000x4000 或其他吗?这是一个有效的方法吗?或者更好的方法是什么?


除了较大的宽度和高度之外,减压炸弹还可能具有过大的 iCCP 块、zTXt、块和 iTXt 块。默认情况下,libpng 在某种程度上防御这些。

您的“imagemagick”标签表明您正在询问如何使用 ImageMagick 来做到这一点。 ImageMagick的默认宽度和高度限制非常大:“convert -list资源”说

资源限制:宽度:214.7MP 高度:214.7MP 面积:8.135GP

ImageMagick 中的图像宽度和高度限制来自命令行“-limit”选项,我认为也可以通过各种 ImageMagick API 中的一些等效指令来传达该选项。 ImageMagick 从 libpng 继承了对 iCCP 块等的限制。

IHDR 块中伪造的较小宽度和高度值不会欺骗 libpng 或 ImageMagick。他们只是发出“额外压缩数据”警告并跳过 IDAT 数据的其余部分,而不对其进行解压缩。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查png文件是否是减压炸弹 的相关文章

  • 使用高斯混合模型进行皮肤检测

    我正在根据以下进行皮肤检测算法本文 http www cc gatech edu rehg Papers SkinDetect IJCV lowres pdf 第 21 页有两个模型 高斯皮肤混合模型和非皮肤颜色模型 第一个皮肤检测模型效果
  • 正方形检测找不到正方形

    我正在使用该程序方块 c在 OpenCV 库的示例中可用 它适用于每个图像 但我真的不明白为什么它不能识别该图像中绘制的正方形 After CANNY After DILATE The RESULT图像 红色 http img267 ima
  • 从彩色背景中提取黑色对象

    人眼很容易辨别black来自其他颜色 但是计算机呢 我在普通的A4纸上打印了一些色块 由于组成彩色图像有青色 品红色和黄色三种墨水 所以我设置每个块的颜色C 20 C 30 C 40 C 50 以及其余两种颜色是 0 这是我的源图像的第一列
  • 如何使用PIL读取原始图像?

    我有一个原始图像 其中每个像素对应一个 16 位无符号整数 我正在尝试使用 PIL Image fromstring 函数进行读取 如以下代码所示 if name main if len sys argv 4 print Error mis
  • 使用 Mean Shift 进行图像分割的解释

    谁能帮我理解 Mean Shift 分割的实际工作原理吗 这是我刚刚制作的一个 8x8 矩阵 103 103 103 103 103 103 106 104 103 147 147 153 147 156 153 104 107 153 1
  • 从 GIF 提取帧到 PNG 时丢失数据?

    当我尝试使用 fraxel 的答案时 http stackoverflow com questions 10269099 pil convert gif frames to jpg 在图像上http 24 media tumblr com
  • Java applet - 以 png 格式保存图像

    我正在创建一个用于制作头像的简单小程序 您可以选择脸部 头发 眼睛等 然后将其作为 png 文件保存到光盘上 简单版本 为了简单起见 没有界面 如下所示 import java awt import java applet import j
  • 是否可以将密码以纯文本形式存储在 php 变量或 php 常量中?

    根据问题 在 php 页面上存储密码是否安全 例如 password pa w0rd 如果用户看不到它 那就安全了 对吗 编辑 确实有人建议使用hash 但是数据库服务器连接密码会有问题不是吗 简短的回答是否定的 而且要看情况 以纯文本形式
  • 适用于 .NET 的最快 PNG 解码器

    我们的网络服务器需要先处理许多大图像的组合 然后再将结果发送到网络客户端 此过程对性能至关重要 因为服务器每小时可以接收数千个请求 现在 我们的解决方案从 HD 加载 PNG 文件 每个大约 1MB 并将它们发送到显卡 以便在 GPU 上完
  • MATLAB 图像锐化 - 使用(1-高斯低通滤波器)的高斯高通滤波器

    我试图通过设计高斯高通滤波器来锐化图像 我想利用高通滤波器相当于单位矩阵减去低通滤波器的事实来做到这一点 所以我执行了以下操作 image imread Question3 Data Cats jpg read image H 1 fspe
  • Fabric JS ClipPath:裁剪后如何使图像适合画布?

    我使用 FabricJS 和 ClipPath 属性实现了图像裁剪 问题是如何使裁剪后的图像适合画布 我希望裁剪后的图像填充画布区域 但不知道是否可以使用 Fabric js 来完成 因此 我希望用户单击 裁剪 按钮后图像的选定部分适合画布
  • 使用端口 80 (Ubuntu / Linode) 运行 Node.js 的最佳实践 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在设置我的第一个Node js服务器上的cloud Linux node我对以下细节还很陌生Linux admin 顺便说一句 我并没有尝试
  • 为什么我可以使用 ret 退出 main?

    我即将弄清楚程序堆栈到底是如何设置的 我了解到用以下方式调用该函数 call pointer 实际上等同于 mov register pc programcounter add register 1 where 1 is one instr
  • 将二进制文件转换为图像

    我需要找到一种将二进制文件转换为图像的快速方法 二进制文件由 N 个NN 矩阵 我想将 0 与一种颜色关联 将 1 与另一种颜色关联 我需要对超过 1000 个二进制文件执行此操作 如果可能的话 我想避免使用 MatLab 有没有任何工具
  • Java Keystore 是否存在性能问题? [复制]

    这个问题在这里已经有答案了 我们开发了一个应用程序来加密 解密来自服务器的请求 响应 我们正在做性能测试 加密 解密应用程序 我们观察到加密 解密过程需要时间 而许多线程 正在同时做 为了识别问题 我们记录了加密 解密过程中的所有方法 从记
  • 这段php代码安全吗?

    我知道我应该使用准备好的语句 但我的下一个项目将使用准备好的语句 我只需要完成这个简单的小应用程序 所以我的问题是 以下代码片段安全吗 我使用了 htmlentities 以及 mysql real escape string 因为我认为这
  • 尝试利用?

    我看到我的 nopCommerce 网站记录了以下搜索 ADw script AD4 alert 202 ADw script AD4 我有点好奇他们想要完成什么 我搜索了一下 似乎是ADw script AD4 以 UTF7 编码为
  • windows下删除进程权限

    出于安全原因 我正在寻找一种删除进程权限的方法 我想以具有特权的用户身份开始 并以受限用户身份结束 例如 我希望我的 Web 服务器在受限用户下运行 但我仍然想监听端口 80 我怎样才能在Windows下做这样的事情 与 Unix 类似的东
  • http-equiv Content-Security-Policy 在浏览器中有效,但在 Android 设备上无效 - IONIC

    我正在开发一个带有 ionic 的应用程序 刚刚插入了这个 Content Security Policy 元标记 我在浏览器
  • matplotlib 绘图,然后等待原始输入

    我正在尝试打开一系列 png 图 我希望能够在屏幕上查看绘图 然后收到提示 等待我 按 Enter 按回车键后 应显示下一个图 我见过很多类似的问题 Matplotlib 强制绘图显示然后返回主代码 https stackoverflow

随机推荐

  • 在node.js中使用mssql关闭MSSQL连接

    我正在尝试在 node js 中编写一个脚本来查询 MSSQL 数据库 我是 javascript 新手 node js 新手 VSCode 新手 但我了解一些有关 SQL 的知识 我有工作代码 但连接似乎永远不会关闭 并且我无法获取函数的
  • 从任意多元函数中有效采样

    我想从 Python 中的任意函数中采样 In 快速任意分布随机抽样 https stackoverflow com questions 21100716 fast arbitrary distribution random samplin
  • 无法解决目标“android-18”错误

    我无法下载目标 android 18 文件 在 default properties 文件中 set target android 18 还要检查您是否安装了此 API 级别并在属性窗口中检查它 例如 在我的例子中选择了 17
  • 制作不与顶部重叠的固定顶栏的最佳方法是什么?

    例如 stackoverflow 有一个供新成员使用的顶栏 顶栏是固定的 向下推页面而不与页面顶部重叠 这是如何实现的 JavaScript 或者只用 css 就可以做到这一点 您可以执行以下操作来创建固定标头 div class head
  • 如何修复 SQL Server 中阿拉伯文与英文混合的反向字符

    我有一个 SQL Server 数据库 表列在同一字段中包含阿拉伯语和英语字符 就像Oracle 寻求您的帮助 将阿拉伯字符与英文字符分开以反转它们 因为阿拉伯字符在字段中没有特定的位置 开始 结束或中间 Edit这些字符来自旧版 IBM
  • Angularjs 表单验证顺序

    我有一个简单的 html 表单 其中包含常规文本输入 ng minlength ng maxlength and ng pattern有角的内置表单输入指令 http docs angularjs org api ng directive
  • #的目的是什么!在网址中[重复]

    这个问题在这里已经有答案了 可能的重复 Facebook 和新 Twitter URL 中的 shebang 有何用途 https stackoverflow com questions 3009380 whats the shebang
  • 使用张量流实现 RBM

    我正在尝试用tensorflow实现RBM 代码如下 rbm py An rbm implementation for TensorFlow based closely on the one in Theano import tensorf
  • 在 iOS 设备上使用网络链接调节器

    如何直接在我的 iOS 设备上模拟各种网络状况 我知道这在 Mac 上是可能的 这要归功于网络链路调节器 http mattgemmell com 2011 07 25 network link conditioner in lion iO
  • Express-Session、Connect-Redis 和 einaros/ws

    我似乎在让 Express express session connect redis 和 websockets ws 很好地协同工作时遇到了一些麻烦 这很可能与我对这些模块和编码的总体理解还有限有关 这里的大部分代码取自存储库中的相应示例
  • 不要从序列化的 DateTime 对象中序列化或删除 TimeZone

    我收到的一个奇怪的任务是使用 XML 序列化来序列化一个大对象 该对象包含多个嵌套的 UserDefined 类 以及多个 DateTime 字段 日期时间数据的要求是它必须始终显示在最初创建和设置数据的用户的时区中 因此 我无法使用 UT
  • Objective C / iPhone:如何提取当前区域的实际 unicode 日期格式字符串?

    根据该网站 http iosdevelopertips com cocoa date formatter examples html http iosdevelopertips com cocoa date formatter exampl
  • 通过 SignalR 在 IE 中缺少原型方法

    我遇到了一个问题 即仅在 IE 中并且仅当数组通过 SignalR 时才处理原型方法消失 在本例中为 Array prototype 方法 我写了一个小 愚蠢但简单的概念验证网络应用程序来演示这个问题 代码全部在下面 请注意 当您单击 更新
  • 如何在 reStructuredText / Sphinx 中创建浮动图形?

    我想要一个带有文字的图形 这就是我要说的 Installation of Optional Accessories warning Never plug in or unplug a Hand Robot or a Grasp Sensor
  • TS2611:“foo”被定义为类“A”中的属性,但在“B”中作为访问器被覆盖

    我在 Angular 应用程序中遇到 Typescript 编译错误 以下是示例代码和错误消息 请您指导我抑制这个错误 我认为根据 Javascript 这段代码是正确的 error TS2611 foo is defined as a p
  • 如何在 EF DbFirst 中扩展 ASP IdentityRole

    如何扩展 IdentityRoles 以使用扩展的 AspNetRoles 表 在 ASP MVC 5 中 使用 Identity 2 2 我看了here https stackoverflow com q 40336574 6085193
  • 将异常从 Objective-C 引发回 Javascript

    JavascriptCore 允许我们通过 JSExport 协议将 Objective C 类公开给 javascript 比方说 在公开的 Objective C 类的方法之一中 遇到了需要引发异常的情况 有没有办法创建所述异常并引发它
  • 在 Android 中使用 Asynctask 显示进度条

    我正在尝试显示进度条 我是一名安卓初学者 当我按下按钮时 任务应该在后台运行 但它不显示进度栏 什么是问题 我无法理解 请帮我 主要活动 package com example shikkok services import java ut
  • 添加 Windows Common Controls 6.0 时对象库未注册

    我正在尝试在 Windows 7 32 位计算机上安装 Visual Studio 6 操作系统安装是从裸机进行的 我按照提到的说明进行操作here http www fortypoundhead com showcontent asp a
  • 如何检查png文件是否是减压炸弹

    我正在尝试将图像上传到网站 我发现在允许上传时可能会发生这些减压炸弹攻击png文件 和其他一些 由于我要更改上传的图像 我想确保我不会成为这次攻击的受害者 因此 当涉及到检查是否png文件是一个炸弹 我可以读取文件的标题并确保宽度和高度不超