渗透干货—利用pdf文件进行XSS和CSRF攻击
你的pdf文件安全吗?你还在使用浏览器随意打开pdf文件吗?
0x01 利用pdf文件进行XSS攻击
首先我们需要制作一个恶意的pdf文件,随便使用一个pdf编辑器,新建空白页面。
在弹出的“JavaScript 编辑器”对话框中输入以下代码,然后保存文件:
app.alert('xss');
你可能会疑问为什么不是alert(‘xss’),这是因为Adobe支持自身的 JavaScript 对象模型,利用JavaScript进行攻击时只能使用Adobe所支持的功能。好了,恶意文件已经制作完成了,现在我们去尝试一下它在不同浏览器的效果。
在Edge浏览器可以成功执行
在Google浏览器可以成功执行
在火狐浏览器无法执行,enen,火狐NB!
最后将制作的pdf文件上传到目标网站即可,若该网站提供了pdf预览功能,则大概率存在xss漏洞,如下所示:
Stefano Di Paola 和 Giorgio Fedon 在第 23 届 CCC 安全会议中提出,除了把 JavaScript 嵌入 PDF 文件中执行,还可以利用基于 DOM 的方法执行 PDF XSS。对了,Stefano Di Paola把 PDF 中的 DOM XSS 称为 UXSS(Universal Cross-Site Scripting),感兴趣的可以去看看相关资料。
接着我们再看一个例子,我又重新制作了一个恶意的pdf文件,在pdf页面新建一个表单,然后鼠标按下的时候会打开一个网页链接。
设想一个场景,假如转账操作的URL为:test.com/api/transferAccounts?user=hack&money=200,那么hack用户将此链接插入上述pdf中,那么会导致什么后果?对,就是CSRF漏洞。
当然真正的转账流程和风控不会如此简单,我这里只是抛砖引玉,提供一个思路。
第一种简单粗暴,直接取消在线预览功能,改为下载。第二种就是使用在线预览组件,将pdf转换成图片显示,使其植入的js代码无法生效。
往期精彩推荐