McG*_*Gin 5 java sql spring sql-injection
我意识到可以将一个手动构造的String传递给execute(String)易受攻击的String .但是我对使用MapSqlParameterSource或其他一些公开方法(如下面的示例)中的参数传递参数感兴趣.深入研究来源,看起来它们正在使用每个中的预备语句,所以我认为注入是不可能的.但是我不是安全专家所以只是想确认一下.
例1:
getSimpleJdbcTemplate().queryForObject("SELECT * FROM table WHERE value = ?",
new ObjectMapper(), code);
Run Code Online (Sandbox Code Playgroud)
例2:
getSimpleJdbcTemplate()
.update(
"insert into table "
+ "(column1, column2, column3, column4, column5) VALUES "
+ "(:column1, :column2, :column3, :column4, :column5)",
new MapSqlParameterSource().addValue("column1",
value1).addValue("column2",
value2).addValue("column3",
value3).addValue("column4",
value4).addValue("column5", value5));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3878 次 |
| 最近记录: |