![]() |
1
37
只有在像这样的SQL/JPQL字符串中嵌入用户控制变量时,才有可能:
如果您不这样做,并且只使用参数化/命名查询,那么您是安全的。 |
![]() |
2
11
是的,这是可能的。这取决于您实现的方式。
|
![]() |
3
5
如果您的JPA提供者处理所有输入参数来处理注入攻击,那么您应该被覆盖。我们在EclipseLink上做的很薄。 正如前面的海报所提到的,将自己的JPQL或SQL(用于本机查询)拼凑在一起可能会使您暴露出来。 我建议使用带参数的命名查询来连接字符串以构建JPQL/SQL。 道格 |
|
4
0
如果您从冒犯性/实用性的角度提出问题,那么如果jpql语句是根据用户输入构建的,请考虑以下用户输入:
如果受害者使用的是JPA实现>=2.1,而后端数据库是Oracle,则上述类似的操作可能会充当一个布尔SQL注入,告诉您数据库用户是否以“a”开头。 |
![]() |
TheCrunchyPotato · JPA查询找不到正确的构造函数 3 年前 |
![]() |
smeeb · JPQL只返回第一条记录 7 年前 |
![]() |
Jan Nielsen · 通过JPQL查询慢速子选择组 7 年前 |
![]() |
kerner1000 · 通过更新更新实体关系。。设置查询 7 年前 |