我们在表示层使用 jsf primefaces,并使用休眠作为 ORM 工具。在运行安全工具来检查代码的安全级别时,我们很少收到盲目的 sql 注入警告。我知道这个漏洞出现的基本原因。为了确认,我检查了大部分写的查询,发现它们都遵循正确的模式
SELECT col FROM table WHERE col = :Identifier
然后我们使用 getNamedQuery 来检索查询。要填充标识符,我们使用 setter 方法。
安全检查工具生成的报告包含一些 UI 组件 id for or 等。并将问题描述为
对原始请求应用了以下更改: - 将参数“form:someDropDown_input”的值设置为“0%2B0%2B0%2B1” - 将参数“form:someDropDown_input”的值设置为“12345%2B12345%” 2B1'
同样在其他一些地方,它显示的问题是
对原始请求应用了以下更改: - 将参数“javax.faces.partial.execute”的值设置为“%40all%27+and+%27f%27%3D%27f”
我几乎无法从错误报告中理解任何内容。所以请指导我问题可能出在哪里。