如何将javascript代码嵌入到pdf并使其执行?

w1e3prcc  于 2022-10-22  发布在  Java
关注(0)|答案(1)|浏览(300)

我讲的是uni中的恶意软件分析类,在上一课中,我们讨论了恶意pdf文档和嵌入式可执行文件,以及打开pdf后运行的嵌入式javascript。课后,我试着自己创建一个这样的pdf,但没有成功。我尝试通过在记事本中加载pdf并添加本文所做的pdf对象(在2012年…)https://mariomalwareanalysis.blogspot.com/2012/02/how-to-embed-javascript-into-pdf.html,以及运行我使用pypdf2库找到的一些python脚本来手动完成。但手动方式和python脚本都不起作用。Python脚本实际上创建了嵌入了javascript对象的pdf,但没有在打开时创建弹出警报。
我尝试的python脚本是:

Incorrect first char in NameObject:((app.alert("Startup");))

此外,当生成“恶意”pdf时,我是在microsoftedge/mozilla/chrome中而不是在acrobat中打开它。
有什么想法吗?当文件在浏览器中打开时,如何嵌入js并使其运行?谢谢

xdyibdwo

xdyibdwo1#

使用Python注入JS并不是一件小事,在本例中,我使用了GUI和其他编辑器(如MS Notepad),以便于剪切和粘贴。注意,这是一个非常简单的概念证明,可以测试浏览器是否会响应脚本。


小时
这可能要干净得多,但您可以将其与不工作的浏览器进行比较,因此如果浏览器设置为打开脚本,它们将在那里或在Acrobat中运行,您应该注意的是AcroEcmaSript在这个基本级别上与HTML不同。

obj
<<
  /A <<
    /JS (app.setTimeOut \('app.alert\("Hello Moon!", 3\)', 5000 \);)
    /S /JavaScript
  >>
  /AP <<
    /N 18 0 R
  >>
  /DA (/HeBo 5 Tf 0 g)
  /F 4
  /Ff 65536
  /FT /Btn
  /M (D:20221021205839+01'00')
  /MK <<
    /BG [ .164825 .776596 .065796 ]
    /CA (app.alert in 5 second)
  >>
  /P 11 0 R
  /Parent 10 0 R
  /Rect [ 225 175 375 200 ]
  /Subtype /Widget
  /T (alert in 5 seconds)
  /Type /Annot
>>
endobj

第2部分

obj
<<
  /A <<
    /JS (app.alert\("Hello World!", 3\);)
    /S /JavaScript
  >>
  /AP <<
    /N 19 0 R
  >>
  /DA (/HeBo 5 Tf 0 g)
  /F 4
  /Ff 65536
  /FT /Btn
  /M (D:20221021205712+01'00')
  /MK <<
    /BG [ .164825 .776596 .065796 ]
    /CA (app.alert Now)
  >>
  /P 11 0 R
  /Parent 10 0 R
  /Rect [ 50 175 200 200 ]
  /Subtype /Widget
  /T (alert now)
  /Type /Annot
>>
endobj


小时

您询问了如何在文件打开时运行该操作,如果我们将这两个操作的简化混合从acroform移动到文件打开时的延迟操作,那么看起来应该很简单:-

2 0 obj
...
/OpenAction <<
/JS (app.setTimeOut \('app.alert\("Hello World!", 3\)', 5000 \);)
/S /JavaScript
...
endobj

因此,在5秒钟后,如果没有任何用户操作,我们将看到自己被拥有


小时

相关问题