实战|通过恶意 pdf 执行 xss 漏洞

云通信人工智能与算法智能语音交互

转载于利刃信安

漏洞测试:

我们介绍如何把 JavaScript 嵌入到 PDF 文档之中。

我使用的是迅捷 PDF 编辑器未注册版本

1、启动迅捷 PDF 编辑器打开一个 PDF 文件,或者使用“创建 PDF 文件”功能,通过将其他文档和资源转换为“可移植文档格式”来创建 PDF 文件。

picture.image

2、单击左侧的“页面”标签,选择与之对应的页面缩略图,然后从选项下拉菜单中选择“页面属性”命令

picture.image

选择“页面属性”命令

3、在“页面属性”对话框单击“动作”标签,再从“选择动作”下拉菜单中选择“运行 JavaScript”命令,然后单击【添加】按钮,弹出 JavaScript 编辑器对话框

picture.image

填写 JavaScript 代码

4、在弹出的“JavaScript 编辑器”对话框中输入代码:


          
app.a
          
lert('XSS');
          
br
      

单击【确定】按钮保存 PDF 文件。

这里需要注意的是:Adobe 支持自身的 JavaScript 对象模型,例如 alert(‘xss’)必须被 APP 对象调用,因此变成了 app.alert('xss')。这意味着,利用 JavaScript 进行攻击时只能使用 Adobe 所支持的功能。

5、关闭软件,直接打开刚才保存的 PDF 文件,JavaScript 代码即被执行。经过测试最新版本的 360 浏览器和谷歌浏览器支持

picture.image

picture.image

现在,尝试把 PDF 文件嵌入到网页中并试运行。创建一个 HTML 文档,代码如下:


        <
        html>
          
<body>
          
<object
          
data="test.pdf" width="100%" heigh="100%"
          
type="application/pdf"></object>
          
</body>
          
</html>
      

除了把 JavaScript 嵌入 PDF 文件中执行,还可以利用基于 DOM 的方法执行 PDF XSS。此类方法由 Stefano Di Paola 和 Giorgio Fedon 在第 23 届 CCC 安全会议中提出,大家可以参考论文 Adobe Acrobat。

Stefano Di Paola 把 PDF 中的 DOM XSS 称为 UXSS(Universal Cross-Site Scripting)。事实上,任何支持 PDF 文件的网站都可能存在这种漏洞。

修复方法

而作为网站管理员或开发者,可以选择强迫浏览器下载 PDF 文件,而不是提供在线浏览等,或修改 Web 服务器配置的 header 和相关属性。

可以使用第三方插件解析pdf,不用chrome自带的pdf解析就行, https://github.com/adobe-type-tools/cmap-resources

漏洞修复结果

浏览器针对TXT/pdf等文件一般是直接打开,从而导致恶意的文件会被浏览器直接执行,因此解决方法就是告诉浏览器哪些类型的文件需要下载而不是直接打开.我们可以在nginx解析容器中通过反向代理可以直接过滤访问的url在指定的访问中添加header。


          
location /{
          
if ($request_filename ~* ^.*?.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$){
          
                        add_header Content-Disposition attachment;
          
                 }
          
    }
      
修复检查

点击后直接下载

picture.image

参考链接:

https://www.t00ls.net/thread-48480-1-1.html

https://blog.xss.lc/experience-sharing/71.html

https://ahbbs.anhunsec.cn/thread-351.htm#628

https://ahbbs.anhunsec.cn/thread-355.htm

声明:本公众号所分享内容仅用于网安爱好者之间的技术讨论,禁止用于违法途径, 所有渗透都需获取授权 !否则需自行承担,本公众号及原作者不承担相应的后

历史文章推荐:

XSS 实战思路总结

内网信息收集总结

xss攻击、绕过最全总结

一些webshell免杀的技巧

命令执行写webshell总结

SQL手工注入总结 必须收藏

后台getshell常用技巧总结

web渗透之发现内网有大鱼

蚁剑特征性信息修改简单过WAF

内网渗透之域渗透命令执行总结

[WEB安全]Weblogic漏洞总结

查看更多精彩内容,还请关注 橘猫学安全

每日坚持学习与分享,麻烦各位师傅文章底部给点个“ 再看 ”,感激不尽 picture.image

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
vivo 容器化平台架构与核心能力建设实践
为了实现规模化降本提效的目标,vivo 确定了基于云原生理念构建容器化生态的目标。在容器化生态发展过程中,平台架构不断演进,并针对业务的痛点和诉求,持续完善容器化能力矩阵。本次演讲将会介绍 vivo 容器化平台及主要子系统的架构设计,并分享重点建设的容器化核心能力。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论