> 백엔드 개발 > C++ > 신뢰할 수없는 데이터를 제시하기 위해 NewTonsoft.json에서 'typenamehandling.all'을 사용합니까?

신뢰할 수없는 데이터를 제시하기 위해 NewTonsoft.json에서 'typenamehandling.all'을 사용합니까?

Patricia Arquette
풀어 주다: 2025-01-31 16:26:09
원래의
358명이 탐색했습니다.
newtonsoft.json 's : 신뢰할 수없는 데이터를 실시 할 때 보안 위험이 있습니다 TypeNameHandling.All NewTonsoft.json의 속성은 다형성 대상이 어떻게 사막화되는지를 지시합니다. 로 설정하면 NewTonsoft.json이 들어오는 JSON 내의 속성에 따라 유형을 인스턴스화 할 수 있습니다. 그러나 이것은 신뢰할 수없는 데이터를 처리 할 때 상당한 보안 취약점을 나타냅니다.

TypeNameHandling TypeNameHandling.All $type 보안 영향

악의적 인 행위자는 Is Using `TypeNameHandling.All` in Newtonsoft.Json Safe for Deserializing Untrusted Data?
속성을 ​​주입하여 JSON 내에 유해한 유형을 지정하여 이용할 수 있습니다. 이를 통해 임의 코드를 실행하거나 대상 시스템에서 원치 않는 작업을 수행 할 수 있습니다. 겉보기에 무해한 클래스를 고려하십시오 :

악성 JSON 페이로드는 다음과 같이 보일 수 있습니다

속성은 양성이지만,

속성은 객체의 생성을 강제하여 시스템에서 유해한 프로세스를 시작할 수 있습니다. 이것은 일반 유형 확인을 우회하고 다양한 공격의 문을 엽니 다.

. TypeNameHandling.All 위험을 완화 $type

이러한 공격을 방지하려면 외부의 신뢰할 수없는 출처에서 JSON을 실시하는 경우

를 사용하지 마십시오. 대신

를 사용하여 유형 이름 처리를 비활성화하십시오. 대안 적으로, 사막화 중에 허용되는 유형을 세 심하게 제어하기 위해 사용자 정의
<code class="language-csharp">public class Vehicle
{
    public string Make { get; set; }
    public string Model { get; set; }
}</code>
로그인 후 복사
를 구현하여 안전하게 안전한 유형을 유도하십시오. 이것은 다형성 사막화를 처리하는보다 세분화되고 안전한 접근법을 제공합니다.

위 내용은 신뢰할 수없는 데이터를 제시하기 위해 NewTonsoft.json에서 'typenamehandling.all'을 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿