ฉันใช้ Backbone.js และเว็บเซิร์ฟเวอร์ Tornado พฤติกรรมมาตรฐานสำหรับการรับข้อมูลการเก็บรวบรวมใน Backbone คือการส่งเป็นอาร์เรย์ JSON
ในทางกลับกันพฤติกรรมมาตรฐานของ Tornado คือไม่อนุญาตให้ใช้ JSON Array เนื่องจากมีช่องโหว่ดังต่อไปนี้:
http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx
สิ่งที่เกี่ยวข้องคือ: http://haacked.com/archive/2009/06/25/json-hijacking.aspx
รู้สึกเป็นธรรมชาติมากขึ้นสำหรับฉันที่จะไม่ต้องห่อ JSON ของฉันไว้ในวัตถุเมื่อเป็นรายการของวัตถุจริงๆ
ฉันไม่สามารถทำซ้ำการโจมตีเหล่านี้ในเบราว์เซอร์ที่ทันสมัย (เช่นปัจจุบัน Chrome, Firefox, Safari และ IE9) ในเวลาเดียวกันฉันไม่สามารถยืนยันได้ทุกที่ว่าเบราว์เซอร์ที่ทันสมัยได้แก้ไขปัญหาเหล่านี้แล้ว
เพื่อให้แน่ใจว่าฉันเข้าใจผิดไม่ว่าจะเป็นทักษะการเขียนโปรแกรมที่ไม่ดีหรือทักษะ googling ที่ไม่ดี:
JSON Hijacking โจมตีเหล่านี้ยังคงมีปัญหาในเบราว์เซอร์ที่ทันสมัยหรือไม่?
(หมายเหตุ: ขออภัยในความซ้ำซ้อนที่อาจเกิดขึ้นกับ: เป็นไปได้ที่จะทำ 'JSON hijacking' ในเบราว์เซอร์สมัยใหม่หรือไม่ แต่เนื่องจากคำตอบที่ยอมรับดูเหมือนจะไม่ตอบคำถาม - ฉันคิดว่าถึงเวลาต้องถามอีกครั้ง .)