programing

"최상위 레벨 JSON 어레이"란 무엇이며, 이러한 어레이가 보안상의 리스크가 되는 이유는 무엇입니까?

nicegoodjob 2023. 4. 4. 22:56
반응형

"최상위 레벨 JSON 어레이"란 무엇이며, 이러한 어레이가 보안상의 리스크가 되는 이유는 무엇입니까?

다음 비디오에서는 타임마커 21:40에 Microsoft PDC 프레젠터가 모든 JSON을 최상위 어레이가 되도록 랩하는 것이 중요하다고 말합니다.

https://channel9.msdn.com/Events/PDC/PDC09/FT12

탑 레벨 어레이를 래핑하지 않을 경우 어떤 위험이 있습니까?

내가 취약한지 어떤지를 어떻게 확인해야 하나요?서드파티에서 많은 컴포넌트를 구입하여 코드를 개발하는 외부 벤더를 보유하고 있습니다.

이것은 몇 년 전 Jeremia Grossman이 지메일에 영향을 미치는 매우 흥미로운 취약성을 발견했기 때문입니다.일부 사람들은 이 취약성에 대해 해석할 수 없는 난해한 방법을 사용하여 대처하고 있습니다(이 페이지의 Mr bobince의 기술 설명은 훌륭합니다).

Microsoft가 이것에 대해 말하는 이유는, 아직 브라우저에 패치를 적용하지 않았기 때문입니다.(편집: Edge 및 IE 10/11의 최신 버전에서 이 문제가 해결되었습니다.)Mozilla는 이를 json 규격의 취약성으로 간주하여 Firefox 3에서 패치를 적용했습니다.참고로 Mozilla에 전적으로 동의하지만 유감스럽게도 각 웹 앱 개발자는 이 매우 불명확한 취약성에 대해 스스로를 보호해야 합니다.

Array() 컨스트럭터를 재정의할 수 있기 때문이라고 생각합니다.그러나 이 문제는 어레이만의 문제는 아닙니다.

공격(또는 가능한 방법 중 하나)은 다음과 같습니다.

function Array(n) {
  var self = this;
  setTimeout(function() {
    sendToEvilHackers(self);
  }, 10);
  return this;
}

브라우저(또는 일부 브라우저)는 다음 항목에 대해 해당 생성자를 사용합니다.[n, n, n]배열 표기법따라서 CSRF 공격은 은행과의 오픈세션을 부정 이용하는 경우가 있으며, 기존의 JSON URL에<script>태그를 붙여서 가져오면 당신은 소유가 됩니다.

언급URL : https://stackoverflow.com/questions/3503102/what-are-top-level-json-arrays-and-why-are-they-a-security-risk

반응형