>백엔드 개발 >C++ >NewTonsoft JSON의 TypEname Handling은 외부 JSON 데이터를 실시하기 위해 안전합니까?

NewTonsoft JSON의 TypEname Handling은 외부 JSON 데이터를 실시하기 위해 안전합니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-31 16:31:09454검색

Is Newtonsoft JSON's TypeNameHandling Safe for Deserializing External JSON Data?
Newtonsoft JSON 's : 외부 JSON

에 대한 보안 고려 사항 Newtonsoft의 JSON 라이브러리는 를 제공하여 유형 정보를 포함하는 JSON을 제공합니다. 그러나이를 신뢰할 수없는 외부 JSON 소스와 함께 사용하면 상당한 보안 위험이 발생합니다. TypeNameHandling

로 외부 JSON을 사로화 할 수있는 보안 위험 TypeNameHandling a

없이 를 사용하면 Deserializer가 JSON 메타 데이터에 지정된 모든 유형의 인스턴스를 생성 할 수 있습니다. 이것은 응용 프로그램 또는 .NET 프레임 워크에 존재하는 유해한 유형을 보낼 수있는 악의적 인 행위자에게 취약성을 나타냅니다. 예제 취약점 : 간단한 TypeNameHandling.All 클래스를 고려하십시오 a actilly 무해한 JSON 페이로드 : ... 올바르게 사로화 할 것입니다. 그러나 악의적 인 배우는

: 와 같은 시스템 클래스를 대상으로하는 페이로드를 만들 수 있습니다. SerializationBinder 임시 파일을 관리하는 직렬화 가능한 클래스 인 TypeNameHandling.All 에는 쓰레기 수집시 파일을 삭제하는 최종화기가 있습니다. 악의적 인 페이로드는이 최종화기가 피해자의 시스템의 임의 파일을 가리킬 수 있으므로 사용자 상호 작용없이 의도하지 않은 파일 삭제를 초래할 수 있습니다. 이것은 단지 하나의 예일뿐입니다. 다른 많은 시스템 클래스는 비슷한 방식으로 악용 될 수 있습니다.

따라서 는 를 사용하여 이러한 위험을 완화 할 수있는 외부 소스에서 JSON을 사용하는 경우 항상

를 사용하십시오. 당신이 명시 적으로 신뢰하고 통제하는 유형의 사막화 만 허용합니다.

위 내용은 NewTonsoft JSON의 TypEname Handling은 외부 JSON 데이터를 실시하기 위해 안전합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.