json 문자열을 비 직렬화하기 위해 Newtonsoft.Json을 사용하고 있지만 유효하지 않은 json을 사용하고 있다고 불평했습니다. 나는 다음 Newtonsoft.Json.Schema를 사용하여 검사를 추가했지만 지금은 JSON 문자열을 확인하는 방법에 대한 더.NET에서 Fortify Json 삽입
var schema = JsonSchema.Parse(JsonConvert.SerializeObject(typeof(T)));
JToken token = JArray.Parse(json); -- Vulnerability
IList<string> errors;
if (token.IsValid(schema, out errors))
{
return JsonConvert.DeserializeObject<T>(json); -- Vulnerability
}
어떤 조언을 불평?
라인의 23, DeserializeObject() 메서드는 JSON에 입력을 보냅니다. 이 호출은 공격자가 에게 임의의 요소 나 속성을 JSON 엔티티에 삽입하도록 허용 할 수 있습니다.
정의'complains'을하는 데 도움이
희망은 수정에게 있습니다. 예외 또는 오류 메시지가 있습니까? – Igor
[이것이 어떻게 굴러가는 지 모르겠다면 요새화를 해제하고 계속 진행] (http://i.stack.imgur.com/K0v6i.png) – Will
요새화가 생성 한 정확한 오류 메시지로 질문을 업데이트하십시오 – oldbam