【发布时间】:2013-09-08 19:01:01
【问题描述】:
我们在表示层使用 jsf primefaces,并使用 hibernate 作为 ORM 工具。 在运行安全工具来检查我们代码的安全级别时,我们得到 一些盲目的 sql 注入警告。 我知道这个漏洞来的基本原因。为了确认,我检查了大部分 编写的查询并发现它们都遵循正确的模式
SELECT col FROM table WHERE col = :Identifier
然后我们使用 getNamedQuery 来检索查询。要填充标识符,我们 正在使用 setter 方法。
安全检查工具生成的报告包含一些 用于或等的 UI 组件 ID。 并将问题描述为
以下更改已应用于原始请求: - 将参数 'form:someDropDown_input' 的值设置为 '0%2B0%2B0%2B1' - 将参数'form:someDropDown_input'的值设置为'12345%2B12345%2B1'
在其他一些地方,问题也显示为
以下更改已应用于原始请求: - 将参数'javax.faces.partial.execute'的值设置为'%40all%27+and+%27f%27%3D%27f'
我几乎无法从错误报告中理解任何内容。 所以请指导我问题可能出在哪里。
【问题讨论】:
-
您确定这是错误报告吗? “应用了以下更改......”这句话听起来更像是一个日志文件(只是说明安全检查工具做了什么)。这听起来不像是安全问题。
-
是的,它完全按照我在报告中的方式打印。我认为该工具试图篡改用户输入。如果成功,我认为是一个问题。但不确定。跨度>
标签: java security jakarta-ee jsf-2 primefaces