加强跨站点脚本:糟糕的验证 JSF
Posted
技术标签:
【中文标题】加强跨站点脚本:糟糕的验证 JSF【英文标题】:Fortify Cross-Site Scripting: Poor Validation JSF 【发布时间】:2020-12-26 17:02:04 【问题描述】:Fortify 在我的 JSF 2.2.1 / primefaces 项目中发现两行的跨站点脚本:验证不良安全问题。
<p:treeTable id="tree_dt" value="#OrganizasyonYetkinlikVeriGirisBean.root" var="organizasyon">
<p:column headerText="Ünite Adı" style="width:350px" filterBy="#organizasyon.uniteAdi" filterMatchMode="contains">
**<h:outputText value="#organizasyon.uniteAdi" escape="true"/>**
</p:column>
<p:treeTable id="tree_dt" value="#OrganizasyonYetkinlikVeriGirisBean.root" var="organizasyon">
<p:column headerText="Ünite Adı" style="width:25%" filterBy="#organizasyon.uniteAdi" filterMatchMode="contains">
**<h:inputTextarea value="#organizasyon.uniteAdi" readonly="true" rows="2" escape="true"/>**
</p:column>
我已经隐式添加了 escape="true" 但是,问题仍然存在。
【问题讨论】:
【参考方案1】:treeTable、column 和 inputTextArea 的 list of attributes 中都没有 escape。
您的扫描仪可能没有指向正确的标记行,但可以查看正确的页面。查找其他对象以及具有可用转义属性的树表并将其设置为 true。
【讨论】:
我知道所有元素在 JSF 中都有隐式的 escape=true 属性。以上是关于加强跨站点脚本:糟糕的验证 JSF的主要内容,如果未能解决你的问题,请参考以下文章