繁体   English   中英

在浏览器中禁用嵌入在 PDF 中的 JavaScript(XSS 攻击)

[英]Disable JavaScript embedded in PDF in browser (XSS attack)

我们正在尝试使用 ExtJs 在 iframe 中加载 PDF。 PDF 嵌入了 JavaScript。 当它在浏览器中加载时,正在显示警报,并且在渗透测试中被认为是JS注入。

有什么帮助可以避免从 PDF 执行 JS 吗?

编辑 1

尝试使用沙盒html 嵌入元素

在 Chrome 和 Internet Explorer 中查看时,沙盒不会显示整个 PDF。

下面是代码

onResearchGridPanelDBItemClick: function(dataview, record, item, index, e, eOpts) {
        var pdf = record.get('path');
        var title = Encoder.htmlDecode(record.get('title'));
        var pdfPanel = null;
        var pdfTab = null;
        var p = Ext.getCmp('ResearchPanel');
        if(p){
            pdfPanel = p;   
        }else{
            pdfPanel = Ext.create('sample',{
                modal: true,        
                border:false,
                resizable: false
            });
        }
        console.log("RESEARCHCLICK: "+pdf+" launched by "+username);
        pdfPanel.show();
        if(pdfPanel.getEl()){
            pdfPanel.body.update('<b>'+title+'</b>'+ '<br><br>' + '<iframe style="height: 100%; width:100%; border: none" src="'+contextPath+'/resources/research/'+pdf+'"></iframe>');
        }
    },

也许您应该使用embed而不是iframe ,例如:

onResearchGridPanelDBItemClick: function(dataview, record, item, index, e, eOpts) {
        var pdf = record.get('path');
        var title = Encoder.htmlDecode(record.get('title'));
        var pdfPanel = null;
        var pdfTab = null;
        var p = Ext.getCmp('ResearchPanel');
        if(p){
            pdfPanel = p;   
        }else{
            pdfPanel = Ext.create('sample',{
                modal: true,        
                border:false,
                resizable: false
            });
        }
        console.log("RESEARCHCLICK: "+pdf+" launched by "+username);
        pdfPanel.show();
        if(pdfPanel.getEl()){
            pdfPanel.body.update('<b>'+title+'</b>'+ '<br><br>' + '<embed type="application/pdf" height="100%" width="100%" src="'+contextPath+'/resources/research/'+pdf+'">');
        }
    },

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM