PDF_XSS漏洞
使用迅捷PDF编辑器试用版新建空白页测试
找到属性-动作-打开页面
在编辑动作列表里添加JavaScript测试脚本
脚本内容:
app.alert('XSS123');
确定后选保存带水印版即可
测试结果
chrome浏览器
Edge浏览器
QQ浏览器
火狐浏览器未执行
火狐浏览器这里后来发现点情况:
正常跟上面那样是不会执行js代码,但如果在文档属性-JavaScript里添加弹窗代码也会执行了,并且会把两处的都执行
PS:经过测试发现,火狐浏览器对于只在文档属性里添加的JavaScript代码和两处同时添加的会执行,只在属性动作里添加的不会执行(包括后面页面添加也不会执行)
IE浏览器提示下载,没直接打开
连迅捷PDF编辑器打开也会弹窗
下面将PDF文件嵌入html文件中运行看看
html代码如下
<html> <body> <object data="test.pdf" width="100%" heigh="100%" type="Application/pdf"></object> </body> </html>
效果是同样的
如果pdf文件有多个页面的,可以在对应的页面动作里编辑属性添加JavaScript代码,这样打开浏览到该页面时也会执行
修复建议
1.作为网站管理员或开发者,可以选择强迫浏览器下载 PDF 文件,而不是提供在线浏览等,或修改 Web 服务器配置的 header 和相关属性
2.使用第三方插件解析pdf,不用chrome自带的pdf解析就行,https://github.com/adobe-type-tools/cmap-resources
参考:
MU5735 R.I.P