我们有一个ColdFusion应用程序,其中包含许多遗留代码和许多新代码。在渲染尚未更新的遗留代码时,我们会将其显示在iframe中。但是,当您在网址中包含html时,我们软件的安全扫描会报告某些网页出现问题。
打破网址示例:https://mySite.com/coldfusionPage.cfm?layout=true&67c26"><a>bb6cb=1
当iframe呈现此内容时,它会中断,因为网址中的引号和括号会结束iframe标记,其余的url和iframe标记只会在页面上呈现为html。
答案 0 :(得分:1)
如果您包含该参数而未将其清除为恶意内容,则您的扫描公司是正确的。您可以通过链接将某些内容放在您的页面上(从来不是一件好事)。您不希望通过URL传递内容,然后将其插入到iFrame的网址中。想一想。如果您有以下链接:
href="https://mySite.com/myPage.cfm?Include=someIframPage.cfm
然后你插入了#34; someIframePage.cfm&#34;进入你的iframe的目标网址后,有人可以进来并简单地在其中嵌入其他网页 - 然后发送电子邮件以网络钓鱼。
您需要确保传入的任何网址都被正确命名,只包含您知道应该存在的内容,并在您在任何地方使用之前清除HTML。
编辑注:
我注意到您回复说您没有将iframe页面作为参数传递 - 但您 通过您丢失的模板处理程序或其他任何内容将放在页面上。在您的扫描公司代码示例中,他们传递了true&67c26"><a>bb6cb=1
,因为良性HTML然后请求您允许在页面上使用不受保护的HTML - 正如他们应该的那样。如果我选择了怎么办?
https://mySite.com/coldfusionPage.cfm?layout=true&67c26"><iframe src="http://www.mysiteurl.com/somemaliciouscode.php">bb6cb=1
...作为我的&#34;特别编码&#34; url param?我可以在你的页面上嵌入一个iframe吗?任何允许用户将html注入页面的内容实际上都存在安全风险。用户输入(url params,form params,cookies)必须在使用前进行擦洗和审查。这是页面安全性的简单最佳实践。抱歉 - 但我认为你的扫描公司做得对,而且我查看了吨的扫描报告:)
答案 1 :(得分:0)
我们自己通过为请求筛选器添加IIS规则来解决这个问题,该规则阻止了可能破坏页面所包含的iframe的特定字符。我们已经进行了多次检查,这些检查通常会解决问题但是这一个特定页面以某种方式绕过了这些检查。 IIS规则修复了该问题。