use*_*628 8 java serialization json jackson fortify
我有以下Fortify安全问题:
JSON注入:确保使用安全序列化函数执行所有序列化,该函数在单引号或双引号内分隔不受信任的数据并转义任何特殊字符.
以下是我的代码:
public String saveJson(String json, long ID, String userId) throws SQLException, JsonParseException, JsonMappingException, IOException
{
ObjectMapper objectMapper = new ObjectMapper();
List<item> listOfNewItems = objectMapper.readValue(json, new TypeReference<List<item>>(){});
userId= userFactory.getUser().getID();
String message = saveJson(listOfNewItems,ID,userId);
return message;
}
Run Code Online (Sandbox Code Playgroud)
我想尝试使用
org.codehaus.jackson.io.JsonStringEncoder.getInstance().quoteAsString(json);
Run Code Online (Sandbox Code Playgroud)
或者可能
objectMapper.configure(JsonGenerator.Feature.QUOTE_FIELD_NAMES, false);
objectMapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
Run Code Online (Sandbox Code Playgroud)
但不确定?
有关错误的更多详细信息:
将未经验证的输入写入JSON
有任何想法吗?
mikaelhg迄今为止的评论gagan singh是正确的:
JacksonObjectMapper的默认设置已经“确保所有序列化都是使用安全序列化函数执行的,该函数在单引号或双引号内分隔不受信任的数据并转义任何特殊字符。”
您显示的代码是反序列化,而不是序列化(和/或已损坏或错误复制)
| 归档时间: |
|
| 查看次数: |
4418 次 |
| 最近记录: |