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

Chrome PDFium 整数截断漏洞分析

漏洞简介 chromium:697847 是 PDFium 里面由于 整数截断 引起的一个堆溢出漏洞(将 unsigned long 赋值给uint32),简单记录一下。...漏洞原理: PDFium 使用 zlib 的 inflate 接口解压数据; 在 zlib 中,解压后的数据的大小使用 unsigned long类型的变量 total_out来存储; PDFium 使用...uint32 类型的变量来接收 total_out 的值; 在 64 位环境中,当解压后的数据大小超过 4GB 时(即超过uint32的范围)会产生截断; 后续 PDFium 使用截断后的值分配堆块并拷贝解压后的数据...漏洞分析 2.1 崩溃信息 在 64 位 Ubuntu 上开启 AddressSanitizer 编译 PDFium,使用编译出来的 pdfium_test测试原贴提供的 PoC 文件,可以看到如下崩溃信息...0x00 在调用FPDFAPI_FlateGetTotalOut 函数所在的行(第 590 行)下断点,可以看到 total_out 的值为 0x100000000,当赋值给 uint32 时会截断

1.5K00
您找到你想要的搜索结果了吗?
是的
没有找到

IIS - 短文件名猜解漏洞

漏洞知识库 网络安全/渗透测试/代码审计/ 关注 IIS - 短文件名猜解漏洞文件名介绍 为了兼容16位MS-DOS程序,Windows为文件名较长的文件(和文件夹)生成了对应的Windows...其中数字1还可以递增,如果存在多个文件名类似的文件(名称前6位必须相同,且后缀名前3位必须相同) 2、后缀名最长只有3位,多余的被截断,超过3位的长文件会生成短文件名 3、所有小写字母都会转换成大写字母...漏洞成因 攻击者使用通配符*和?发生一个请求到IIS,当IIS接收到一个文件路径中包含~请求时,它的反应是不同的,即返回的HTTP状态码和错误信息不同。...访问构造的某个存在的短文件名,会返回404;访问构造的某个不存在的短文件名,会返回400(报错页面) IIS短文件猜解漏洞复现(手工测试) 因为我开着IIS的虚拟机的IP是192.168.119.133...IIS短文件名猜解漏洞复现(工具测试) 用到的工具来自Github上的IIS短文件名猜解工具:IIS_shortname_Scanner 用法是:iis_shortname_Scan.py 目标主机

3.5K30

漏洞笔记 | IIS短文件名泄露

0x00 概述 漏洞名称:IIS短文件名泄露 风险等级:低 问题类型:信息泄露 0x01 漏洞描述 此漏洞实际是由HTTP请求中旧DOS 8.3名称约定(SFN)的代字符(〜)波浪号引起的。...为了兼容16位MS-DOS程序,Windows为文件名较长的文件(和文件夹)生成了对应的windows 8.3 短文件名。...Microsoft IIS 波浪号造成的信息泄露是世界网络范围内最常见的中等风险漏洞。这个问题至少从1990年开始就已经存在,但是已经证明难以发现,难以解决或容易被完全忽略。...2) 名称较短的文件是没有相应的短文件名的。 3)需要IIS和.net两个条件都满足。...0x02 漏洞危害 主要危害:利用“~”字符猜解暴露短文件/文件夹名 由于短文件名的长度固定(xxxxxx~xxxx),因此黑客可直接对短文件名进行暴力破解 ,从而访问对应的文件。

2.6K40

嵌入式Linux:truncate()和ftruncate()函数截断文件

这两个函数都可以对文件进行截断操作,即将文件截断为参数 length 指定的字节长度。...分别使用 ftruncate() 和 truncate() 将当前目录下的文件 file1 截断为长度 0 字节,并将文件 file2 截断为长度 1024 字节。...使用 ftruncate() 函数将文件描述符 fd 指向的文件截断为长度为 0 字节,如果截断失败则输出错误信息并退出程序。...使用 truncate() 函数将名为 "file2" 的文件截断为长度为 1024 字节,如果截断失败则输出错误信息并退出程序。 使用 close() 函数关闭文件描述符 fd,释放资源。...总体而言,该程序展示了如何使用 ftruncate() 和 truncate() 函数来截断文件的示例,截断文件的长度可以根据需要进行设置。

10800

关于File Upload的一些思考

绕过白名单或黑名单有诸多姿势:“服务器解析漏洞” 、 “文件命名规则”、“00截断”、“长度截断”、“竞争上传”、“双上传”、“可解析后缀”、“.htacees和user.ini”、“误用函数”等等。...2.2、linux命名规则 1、文件名最大长度为255 2、全路径长度最大为4096(16级最大文件长度) 3、区分大小写 4、除“/”之外所有字符都可以使用 5、linux不以文件扩展名区分文件类型,...linux下通过命名规则绕过的话,可以尝试 \ 或者 && ; 等命令分割符号绕过 ? ? 3、00截断 00截断常见的有%00、0x00等,他们都是表示ascii字符表中的保留字符chr(0)。...限制条件: 小于php5.3.4 小于jdk1.7.0_40 未过滤chr(0),例如magicquoesgpc为off 4、长度截断文件名的长度超过系统允许的最大长度时,会将超出部分进行截断。...(部分系统不会进行截断,无法创建) 测试中可以使用二分法,不断尝试最大长度,然后进行截断。 5、竞争上传 当代码中的逻辑是先保存上传的文件,然后再判断上传文件是否合法时,便存在时间竞争条件漏洞

90510

文件上传-文件名长度绕过白名单限制

对于文件上传漏洞的防护来说,主要分为以下两类:白名单限制和黑名单限制,对于黑名单的限制,我们只需要寻找一些较为偏僻的可执行后缀、大小写混写以及相关操作系统的特性(如windows文件名后缀的最后会自动过滤空格以及....等)来进行绕过;对于白名单的限制来说,一般是结合解析漏洞、代码函数漏洞(icov(80-EF截断),造成00截断的相关函数)以及相关操作系统特性(如windows10文件名长度总共为223包括后缀,win2012...的为237,linux ubuntu0.16.04.1文件名长度252等)来进行绕过!...根据限制类型进行尝试   通过上面我们知道是白名单限制,并且通过前期信息收集发现webserver为Nginx,操作系统为linux(ubuntu),通过Nginx解析漏洞无法进行上传,所以我们使用构造超长文件名进行绕过本次的白名单限制上传...win12 ubuntu redhat等】进行测试文件名长度为多少来进行逐一测试))。

2.3K20
领券