文章前言
有时候我们在做渗透测试的时候会发现目标网站允许上传PDF文件,同时支持在线预览PDF文件,然而不少类似的网站都会直接通过调用系统IE浏览器来解析PDF,此时如果我们在PDF中插入可以执行的恶意XSS代码,当用户在线预览时即可触发恶意XSS并窃取用户Cookie等数据信息或进行恶意操作,本篇文章我们主要介绍如何在PDF中构造恶意XSS代码并通过上传PDF来实现XSS攻击
构造流程
Step 1:下载安装"迅捷PDF编辑器"
Step 2:创建PDF文件
Step 2:单击左侧的"页面"标签,选择与之对应的页面缩略图,然后从选项下拉菜单中选择"页面属性"命令
Step 3:在“页面属性"对话框单击"动作"标签,再从"选择动作"下拉菜单中选择"运行JavaScript"命令,然后单击【添加】按钮,弹出JavaScript 编辑器对话框
Step 4:保存文档,之后使用浏览器打开
技巧拓展
我们可以把PDF文件嵌入到网页中并试运行
<html>
<body>
<object data="test.pdf" width="100%" heigh="100%"type="application/pdf"></object>
</body>
</html>
修复方法
作为网站管理员或开发者可以选择强迫浏览器下载PDF文件,而不是提供在线浏览等或修改Web服务器配置的header和相关属性,也可以使用第三方插件解析pdf,不用chrome自带的pdf解析就行,https://github.com/adobe-type-tools/cmap-resources